Rev 818 | Rev 869 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 818 | Rev 819 | ||
|---|---|---|---|
| Line 137... | Line 137... | ||
| 137 | struct vhpt_entry_present present; |
137 | struct vhpt_entry_present present; |
| 138 | struct vhpt_entry_not_present not_present; |
138 | struct vhpt_entry_not_present not_present; |
| 139 | __u64 word[4]; |
139 | __u64 word[4]; |
| 140 | } vhpt_entry_t; |
140 | } vhpt_entry_t; |
| 141 | 141 | ||
| - | 142 | typedef vhpt_entry_t tlb_entry_t; |
|
| - | 143 | ||
| 142 | struct region_register_map { |
144 | struct region_register_map { |
| 143 | unsigned ve : 1; |
145 | unsigned ve : 1; |
| 144 | unsigned : 1; |
146 | unsigned : 1; |
| 145 | unsigned ps : 6; |
147 | unsigned ps : 6; |
| 146 | unsigned rid : 24; |
148 | unsigned rid : 24; |
| Line 227... | Line 229... | ||
| 227 | static inline void rr_write(index_t i, __u64 v) |
229 | static inline void rr_write(index_t i, __u64 v) |
| 228 | { |
230 | { |
| 229 | ASSERT(i < REGION_REGISTERS); |
231 | ASSERT(i < REGION_REGISTERS); |
| 230 | __asm__ volatile ( |
232 | __asm__ volatile ( |
| 231 | "mov rr[%0] = %1;;\n" |
233 | "mov rr[%0] = %1;;\n" |
| 232 | "srlz.d;;\n" |
- | |
| 233 | : |
234 | : |
| 234 | : "r" (i), "r" (v)); |
235 | : "r" (i), "r" (v)); |
| 235 | } |
236 | } |
| 236 | 237 | ||
| 237 | /** Read Page Table Register. |
238 | /** Read Page Table Register. |