Rev 2231 | Rev 3672 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2231 | Rev 2462 | ||
---|---|---|---|
Line 223... | Line 223... | ||
223 | * handler. |
223 | * handler. |
224 | */ |
224 | */ |
225 | page_table_unlock(AS, true); |
225 | page_table_unlock(AS, true); |
226 | if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) { |
226 | if (as_page_fault(va, PF_ACCESS_EXEC, istate) == AS_PF_FAULT) { |
227 | do_fast_instruction_access_mmu_miss_fault(istate, |
227 | do_fast_instruction_access_mmu_miss_fault(istate, |
228 | __FUNCTION__); |
228 | __func__); |
229 | } |
229 | } |
230 | } |
230 | } |
231 | } |
231 | } |
232 | 232 | ||
233 | /** DTLB miss handler. |
233 | /** DTLB miss handler. |
Line 251... | Line 251... | ||
251 | 251 | ||
252 | if (tag.context == ASID_KERNEL) { |
252 | if (tag.context == ASID_KERNEL) { |
253 | if (!tag.vpn) { |
253 | if (!tag.vpn) { |
254 | /* NULL access in kernel */ |
254 | /* NULL access in kernel */ |
255 | do_fast_data_access_mmu_miss_fault(istate, tag, |
255 | do_fast_data_access_mmu_miss_fault(istate, tag, |
256 | __FUNCTION__); |
256 | __func__); |
257 | } |
257 | } |
258 | do_fast_data_access_mmu_miss_fault(istate, tag, "Unexpected " |
258 | do_fast_data_access_mmu_miss_fault(istate, tag, "Unexpected " |
259 | "kernel page fault."); |
259 | "kernel page fault."); |
260 | } |
260 | } |
261 | 261 | ||
Line 278... | Line 278... | ||
278 | * handler. |
278 | * handler. |
279 | */ |
279 | */ |
280 | page_table_unlock(AS, true); |
280 | page_table_unlock(AS, true); |
281 | if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) { |
281 | if (as_page_fault(va, PF_ACCESS_READ, istate) == AS_PF_FAULT) { |
282 | do_fast_data_access_mmu_miss_fault(istate, tag, |
282 | do_fast_data_access_mmu_miss_fault(istate, tag, |
283 | __FUNCTION__); |
283 | __func__); |
284 | } |
284 | } |
285 | } |
285 | } |
286 | } |
286 | } |
287 | 287 | ||
288 | /** DTLB protection fault handler. |
288 | /** DTLB protection fault handler. |
Line 324... | Line 324... | ||
324 | * handler. |
324 | * handler. |
325 | */ |
325 | */ |
326 | page_table_unlock(AS, true); |
326 | page_table_unlock(AS, true); |
327 | if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) { |
327 | if (as_page_fault(va, PF_ACCESS_WRITE, istate) == AS_PF_FAULT) { |
328 | do_fast_data_access_protection_fault(istate, tag, |
328 | do_fast_data_access_protection_fault(istate, tag, |
329 | __FUNCTION__); |
329 | __func__); |
330 | } |
330 | } |
331 | } |
331 | } |
332 | } |
332 | } |
333 | 333 | ||
334 | /** Print contents of both TLBs. */ |
334 | /** Print contents of both TLBs. */ |