Rev 4341 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4341 | Rev 4346 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | #include <arch/interrupt.h> |
37 | #include <arch/interrupt.h> |
38 | #include <interrupt.h> |
38 | #include <interrupt.h> |
39 | #include <mm/as.h> |
39 | #include <mm/as.h> |
40 | #include <arch.h> |
40 | #include <arch.h> |
41 | #include <print.h> |
41 | #include <print.h> |
42 | #include <symtab.h> |
- | |
43 | #include <macros.h> |
42 | #include <macros.h> |
44 | - | ||
- | 43 | #include <symtab.h> |
|
45 | 44 | ||
46 | static unsigned int seed = 10; |
45 | static unsigned int seed = 10; |
47 | static unsigned int seed_real __attribute__ ((section("K_UNMAPPED_DATA_START"))) = 42; |
46 | static unsigned int seed_real __attribute__ ((section("K_UNMAPPED_DATA_START"))) = 42; |
48 | 47 | ||
49 | 48 | ||
Line 116... | Line 115... | ||
116 | } |
115 | } |
117 | 116 | ||
118 | 117 | ||
119 | static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate) |
118 | static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate) |
120 | { |
119 | { |
121 | char *symbol = ""; |
120 | char *symbol; |
122 | char *sym2 = ""; |
121 | char *sym2; |
123 | 122 | ||
124 | char *str = get_symtab_entry(istate->pc); |
123 | symbol = symtab_fmt_name_lookup(istate->pc); |
125 | if (str) |
- | |
126 | symbol = str; |
- | |
127 | str = get_symtab_entry(istate->lr); |
124 | sym2 = symtab_fmt_name_lookup(istate->lr); |
128 | if (str) |
- | |
129 | sym2 = str; |
- | |
130 | 125 | ||
131 | fault_if_from_uspace(istate, |
126 | fault_if_from_uspace(istate, |
132 | "PHT Refill Exception on %p.", badvaddr); |
127 | "PHT Refill Exception on %p.", badvaddr); |
133 | panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
128 | panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
134 | istate->pc, symbol, sym2); |
129 | istate->pc, symbol, sym2); |