Rev 4132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4132 | Rev 4137 | ||
---|---|---|---|
Line 38... | Line 38... | ||
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 <macros.h> |
42 | #include <macros.h> |
43 | - | ||
44 | #ifdef CONFIG_SYMTAB |
- | |
45 | #include <symtab.h> |
43 | #include <symtab.h> |
46 | #endif |
- | |
47 | 44 | ||
48 | static unsigned int seed = 10; |
45 | static unsigned int seed = 10; |
49 | 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; |
50 | 47 | ||
51 | 48 | ||
Line 118... | Line 115... | ||
118 | } |
115 | } |
119 | 116 | ||
120 | 117 | ||
121 | static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate) |
118 | static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate) |
122 | { |
119 | { |
123 | char *symbol = ""; |
120 | char *symbol; |
124 | char *sym2 = ""; |
121 | char *sym2; |
125 | 122 | ||
126 | #ifdef CONFIG_SYMTAB |
- | |
127 | char *str = get_symtab_entry(istate->pc); |
123 | symbol = symtab_fmt_name_lookup(istate->pc); |
128 | if (str) |
- | |
129 | symbol = str; |
- | |
130 | str = get_symtab_entry(istate->lr); |
124 | sym2 = symtab_fmt_name_lookup(istate->lr); |
131 | if (str) |
- | |
132 | sym2 = str; |
- | |
133 | #endif |
- | |
134 | 125 | ||
135 | fault_if_from_uspace(istate, |
126 | fault_if_from_uspace(istate, |
136 | "PHT Refill Exception on %p.", badvaddr); |
127 | "PHT Refill Exception on %p.", badvaddr); |
137 | panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
128 | panic("%p: PHT Refill Exception at %p (%s<-%s).", badvaddr, |
138 | istate->pc, symbol, sym2); |
129 | istate->pc, symbol, sym2); |