Subversion Repositories HelenOS

Rev

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);