Rev 4129 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4129 | Rev 4130 | ||
|---|---|---|---|
| Line 126... | Line 126... | ||
| 126 | * TSBs were allocated from memory not covered |
126 | * TSBs were allocated from memory not covered |
| 127 | * by the locked 4M kernel DTLB entry. We need |
127 | * by the locked 4M kernel DTLB entry. We need |
| 128 | * to map both TSBs explicitly. |
128 | * to map both TSBs explicitly. |
| 129 | */ |
129 | */ |
| 130 | mmu_demap_page(tsb, 0, MMU_FLAG_DTLB); |
130 | mmu_demap_page(tsb, 0, MMU_FLAG_DTLB); |
| 131 | mmu_map_perm_addr( |
- | |
| 132 | tsb, KA2PA(tsb), true, true, false, true, |
131 | dtlb_insert_mapping(tsb, KA2PA(tsb), PAGESIZE_64K, true, true); |
| 133 | PAGESIZE_64K, MMU_FLAG_DTLB); |
- | |
| 134 | } |
132 | } |
| 135 | 133 | ||
| 136 | __hypercall_fast2(MMU_TSB_CTX0, 1, as->arch.tsb_description.tsb_base); |
134 | __hypercall_fast2(MMU_TSB_CTX0, 1, as->arch.tsb_description.tsb_base); |
| 137 | 135 | ||
| 138 | #endif |
136 | #endif |
| Line 164... | Line 162... | ||
| 164 | /* |
162 | /* |
| 165 | * TSBs were allocated from memory not covered |
163 | * TSBs were allocated from memory not covered |
| 166 | * by the locked 4M kernel DTLB entry. We need |
164 | * by the locked 4M kernel DTLB entry. We need |
| 167 | * to demap the entry installed by as_install_arch(). |
165 | * to demap the entry installed by as_install_arch(). |
| 168 | */ |
166 | */ |
| 169 | mmu_demap_page(tsb, 0, MMU_FLAG_DTLB); |
167 | __hypercall_fast3(MMU_UNMAP_PERM_ADDR, tsb, 0, MMU_FLAG_DTLB); |
| 170 | } |
168 | } |
| 171 | #endif |
169 | #endif |
| 172 | } |
170 | } |
| 173 | 171 | ||
| 174 | /** @} |
172 | /** @} |