Rev 869 | Rev 901 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 869 | Rev 879 | ||
---|---|---|---|
Line 54... | Line 54... | ||
54 | 54 | ||
55 | /** Initialize VHPT and region registers. */ |
55 | /** Initialize VHPT and region registers. */ |
56 | void set_environment(void) |
56 | void set_environment(void) |
57 | { |
57 | { |
58 | 58 | ||
59 | //#ifdef NEVERDEFINED |
- | |
60 | region_register rr; |
59 | region_register rr; |
61 | pta_register pta; |
60 | pta_register pta; |
62 | int i; |
61 | int i; |
63 | 62 | ||
64 | /* |
63 | /* |
65 | * First set up kernel region register. |
64 | * First set up kernel region register. |
- | 65 | * This action is redundand (see start.S) but I would to keep it to make sure that |
|
- | 66 | *no unexpected changes will be made. |
|
66 | */ |
67 | */ |
67 | rr.word = rr_read(VRN_KERNEL); |
68 | rr.word = rr_read(VRN_KERNEL); |
68 | rr.map.ve = 0; /* disable VHPT walker */ |
69 | rr.map.ve = 0; /* disable VHPT walker */ |
69 | rr.map.ps = PAGE_WIDTH; |
70 | rr.map.ps = PAGE_WIDTH; |
70 | rr.map.rid = ASID_KERNEL; |
71 | rr.map.rid = ASID2RID(ASID_KERNEL,VRN_KERNEL); |
71 | rr_write(VRN_KERNEL, rr.word); |
72 | rr_write(VRN_KERNEL, rr.word); |
72 | srlz_i(); |
73 | srlz_i(); |
73 | srlz_d(); |
74 | srlz_d(); |
74 | 75 | ||
75 | /* |
76 | /* |
Line 80... | Line 81... | ||
80 | if (i == VRN_KERNEL) |
81 | if (i == VRN_KERNEL) |
81 | continue; |
82 | continue; |
82 | 83 | ||
83 | rr.word == rr_read(i); |
84 | rr.word == rr_read(i); |
84 | rr.map.ve = 0; /* disable VHPT walker */ |
85 | rr.map.ve = 0; /* disable VHPT walker */ |
85 | rr.map.rid = ASID_INVALID; |
86 | rr.map.rid = ASID2RID(ASID_INVALID,i); |
86 | rr_write(i, rr.word); |
87 | rr_write(i, rr.word); |
87 | srlz_i(); |
88 | srlz_i(); |
88 | srlz_d(); |
89 | srlz_d(); |
89 | } |
90 | } |
90 | 91 | ||
Line 98... | Line 99... | ||
98 | pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT; |
99 | pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT; |
99 | pta_write(pta.word); |
100 | pta_write(pta.word); |
100 | srlz_i(); |
101 | srlz_i(); |
101 | srlz_d(); |
102 | srlz_d(); |
102 | 103 | ||
103 | //#endif |
- | |
104 | 104 | ||
105 | return ; |
105 | return ; |
106 | 106 | ||
107 | } |
107 | } |
108 | 108 |