Subversion Repositories HelenOS

Rev

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

Rev 3906 Rev 4132
Line 41... Line 41...
41
#include <cpu.h>
41
#include <cpu.h>
42
#include <arch/asm.h>
42
#include <arch/asm.h>
43
#include <mm/tlb.h>
43
#include <mm/tlb.h>
44
#include <mm/as.h>
44
#include <mm/as.h>
45
#include <arch.h>
45
#include <arch.h>
46
#include <symtab.h>
-
 
47
#include <arch/asm.h>
46
#include <arch/asm.h>
48
#include <proc/scheduler.h>
47
#include <proc/scheduler.h>
49
#include <proc/thread.h>
48
#include <proc/thread.h>
50
#include <proc/task.h>
49
#include <proc/task.h>
51
#include <synch/spinlock.h>
50
#include <synch/spinlock.h>
52
#include <arch/ddi/ddi.h>
51
#include <arch/ddi/ddi.h>
53
#include <interrupt.h>
52
#include <interrupt.h>
54
#include <ddi/irq.h>
53
#include <ddi/irq.h>
55
 
54
 
-
 
55
#ifdef CONFIG_SYMTAB
-
 
56
#include <symtab.h>
-
 
57
#endif
-
 
58
 
56
/*
59
/*
57
 * Interrupt and exception dispatching.
60
 * Interrupt and exception dispatching.
58
 */
61
 */
59
 
62
 
60
void (* disable_irqs_function)(uint16_t irqmask) = NULL;
63
void (* disable_irqs_function)(uint16_t irqmask) = NULL;
Line 64... Line 67...
64
void decode_istate(int n, istate_t *istate)
67
void decode_istate(int n, istate_t *istate)
65
{
68
{
66
    char *symbol;
69
    char *symbol;
67
/*  uint64_t *x = &istate->stack[0]; */
70
/*  uint64_t *x = &istate->stack[0]; */
68
 
71
 
-
 
72
#ifdef CONFIG_SYMTAB
69
    if (!(symbol = get_symtab_entry(istate->rip)))
73
    if (!(symbol = get_symtab_entry(istate->rip)))
70
        symbol = "";
74
        symbol = "";
-
 
75
#else
-
 
76
    symbol = "";
-
 
77
#endif
71
 
78
 
72
    printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__);
79
    printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__);
73
    printf("%%rip: %#llx (%s)\n", istate->rip, symbol);
80
    printf("%%rip: %#llx (%s)\n", istate->rip, symbol);
74
    printf("ERROR_WORD=%#llx\n", istate->error_word);
81
    printf("ERROR_WORD=%#llx\n", istate->error_word);
75
    printf("%%cs=%#llx, rflags=%#llx, %%cr0=%#llx\n", istate->cs,
82
    printf("%%cs=%#llx, rflags=%#llx, %%cr0=%#llx\n", istate->cs,