Subversion Repositories HelenOS

Rev

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

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