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 | ||