Subversion Repositories HelenOS-historic

Rev

Rev 306 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 306 Rev 317
Line 33... Line 33...
33
#include <panic.h>
33
#include <panic.h>
34
#include <arch.h>
34
#include <arch.h>
35
 
35
 
36
#include <symtab.h>
36
#include <symtab.h>
37
 
37
 
38
void tlb_refill(void)
38
void tlb_refill(struct exception_regdump *pstate)
39
{
39
{
40
    panic("tlb_refill exception\n");
40
    panic("tlb_refill exception\n");
41
}
41
}
42
 
42
 
43
void tlb_invalid(void)
43
void tlb_invalid(struct exception_regdump *pstate)
44
{
44
{
45
    char *symbol = "";
45
    char *symbol = "";
46
 
46
 
47
    if (THREAD) {
47
    if (THREAD) {
48
        char *s = get_symtab_entry(THREAD->saved_epc);
48
        char *s = get_symtab_entry(pstate->epc);
49
        if (s)
49
        if (s)
50
            symbol = s;
50
            symbol = s;
51
    }
51
    }
52
    panic("%X: TLB exception at %X(%s)\n", cp0_badvaddr_read(),
52
    panic("%X: TLB exception at %X(%s)\n", cp0_badvaddr_read(),
53
          THREAD ? THREAD->saved_epc : 0, symbol);
53
          pstate->epc, symbol);
54
}
54
}
55
 
55
 
56
void tlb_invalidate(int asid)
56
void tlb_invalidate(int asid)
57
{
57
{
58
    pri_t pri;
58
    pri_t pri;