Rev 3598 | Rev 4341 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3598 | Rev 4339 | ||
---|---|---|---|
Line 98... | Line 98... | ||
98 | case AS_PF_FAULT: |
98 | case AS_PF_FAULT: |
99 | page_table_lock(as, lock); |
99 | page_table_lock(as, lock); |
100 | *pfrc = rc; |
100 | *pfrc = rc; |
101 | return NULL; |
101 | return NULL; |
102 | default: |
102 | default: |
103 | panic("unexpected rc (%d)\n", rc); |
103 | panic("Unexpected rc (%d).", rc); |
104 | } |
104 | } |
105 | } |
105 | } |
106 | } |
106 | } |
107 | 107 | ||
108 | 108 | ||
Line 117... | Line 117... | ||
117 | s = get_symtab_entry(istate->lr); |
117 | s = get_symtab_entry(istate->lr); |
118 | if (s) |
118 | if (s) |
119 | sym2 = s; |
119 | sym2 = s; |
120 | 120 | ||
121 | fault_if_from_uspace(istate, |
121 | fault_if_from_uspace(istate, |
122 | "%p: PHT Refill Exception at %p (%s<-%s)\n", badvaddr, |
122 | "%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
123 | istate->pc, symbol, sym2); |
123 | istate->pc, symbol, sym2); |
124 | panic("%p: PHT Refill Exception at %p (%s<-%s)\n", badvaddr, |
124 | panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
125 | istate->pc, symbol, sym2); |
125 | istate->pc, symbol, sym2); |
126 | } |
126 | } |
127 | 127 | ||
128 | 128 | ||
129 | static void pht_insert(const uintptr_t vaddr, const pfn_t pfn) |
129 | static void pht_insert(const uintptr_t vaddr, const pfn_t pfn) |
Line 312... | Line 312... | ||
312 | * or copy_to_uspace(). |
312 | * or copy_to_uspace(). |
313 | */ |
313 | */ |
314 | page_table_unlock(as, lock); |
314 | page_table_unlock(as, lock); |
315 | return; |
315 | return; |
316 | default: |
316 | default: |
317 | panic("Unexpected pfrc (%d)\n", pfrc); |
317 | panic("Unexpected pfrc (%d).", pfrc); |
318 | } |
318 | } |
319 | } |
319 | } |
320 | 320 | ||
321 | pte->a = 1; /* Record access to PTE */ |
321 | pte->a = 1; /* Record access to PTE */ |
322 | pht_insert(badvaddr, pte->pfn); |
322 | pht_insert(badvaddr, pte->pfn); |