Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4131 → Rev 4132

/trunk/kernel/arch/sparc64/src/trap/exception.c
40,14 → 40,25
#include <arch/asm.h>
#include <arch/register.h>
#include <debug.h>
#include <symtab.h>
#include <print.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
void dump_istate(istate_t *istate)
{
char *tpcs, *tnpcs;
 
#ifdef CONFIG_SYMTAB
tpcs = get_symtab_entry(istate->tpc);
tnpcs = get_symtab_entry(istate->tnpc);
#else
tpcs = tnpcs = "n/a";
#endif
printf("TSTATE=%#" PRIx64 "\n", istate->tstate);
printf("TPC=%#" PRIx64 " (%s)\n", istate->tpc, get_symtab_entry(istate->tpc));
printf("TNPC=%#" PRIx64 " (%s)\n", istate->tnpc, get_symtab_entry(istate->tnpc));
printf("TPC=%#" PRIx64 " (%s)\n", istate->tpc, tpcs);
printf("TNPC=%#" PRIx64 " (%s)\n", istate->tnpc, tnpcs);
}
 
/** Handle instruction_access_exception. (0x8) */
/trunk/kernel/arch/ia64/src/interrupt.c
38,7 → 38,6
#include <ddi/irq.h>
#include <panic.h>
#include <print.h>
#include <symtab.h>
#include <debug.h>
#include <console/console.h>
#include <arch/types.h>
55,6 → 54,10
#include <synch/spinlock.h>
#include <mm/tlb.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
#define VECTORS_64_BUNDLE 20
#define VECTORS_16_BUNDLE 48
#define VECTORS_16_BUNDLE_START 0x5000
137,9 → 140,13
{
char *ifa, *iipa, *iip;
 
#ifdef CONFIG_SYMTAB
ifa = get_symtab_entry(istate->cr_ifa);
iipa = get_symtab_entry(istate->cr_iipa);
iip = get_symtab_entry(istate->cr_iip);
#else
ifa = iipa = iip = "n/a";
#endif
 
putchar('\n');
printf("Interrupted context dump:\n");
/trunk/kernel/arch/ppc32/src/mm/tlb.c
39,9 → 39,11
#include <mm/as.h>
#include <arch.h>
#include <print.h>
#include <symtab.h>
#include <macros.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
static unsigned int seed = 10;
static unsigned int seed_real __attribute__ ((section("K_UNMAPPED_DATA_START"))) = 42;
121,6 → 123,7
char *symbol = "";
char *sym2 = "";
 
#ifdef CONFIG_SYMTAB
char *str = get_symtab_entry(istate->pc);
if (str)
symbol = str;
127,6 → 130,7
str = get_symtab_entry(istate->lr);
if (str)
sym2 = str;
#endif
 
fault_if_from_uspace(istate,
"PHT Refill Exception on %p.", badvaddr);
/trunk/kernel/arch/amd64/src/debugger.c
35,7 → 35,6
#include <arch/debugger.h>
#include <console/kconsole.h>
#include <console/cmd.h>
#include <symtab.h>
#include <print.h>
#include <panic.h>
#include <interrupt.h>
45,6 → 44,10
#include <func.h>
#include <smp/ipi.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
typedef struct {
uintptr_t address; /**< Breakpoint address */
int flags; /**< Flags regarding breakpoint */
229,8 → 232,13
*((unative_t *) breakpoints[slot].address));
}
}
 
#ifdef CONFIG_SYMTAB
printf("Reached breakpoint %d:%lx(%s)\n", slot, getip(istate),
get_symtab_entry(getip(istate)));
#else
printf("Reached breakpoint %d:%lx\n", slot, getip(istate));
#endif
 
#ifdef CONFIG_KCONSOLE
atomic_set(&haltstate, 1);
355,7 → 363,11
for (i = 0; i < BKPOINTS_MAX; i++)
if (breakpoints[i].address) {
#ifdef CONFIG_SYMTAB
symbol = get_symtab_entry(breakpoints[i].address);
#else
symbol = "n/a";
#endif
 
#ifdef __32_BITS__
printf("%-2u %-5d %#10zx %s\n", i,
/trunk/kernel/arch/amd64/src/interrupt.c
43,7 → 43,6
#include <mm/tlb.h>
#include <mm/as.h>
#include <arch.h>
#include <symtab.h>
#include <arch/asm.h>
#include <proc/scheduler.h>
#include <proc/thread.h>
53,6 → 52,10
#include <interrupt.h>
#include <ddi/irq.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
/*
* Interrupt and exception dispatching.
*/
66,8 → 69,12
char *symbol;
/* uint64_t *x = &istate->stack[0]; */
 
#ifdef CONFIG_SYMTAB
if (!(symbol = get_symtab_entry(istate->rip)))
symbol = "";
#else
symbol = "";
#endif
 
printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__);
printf("%%rip: %#llx (%s)\n", istate->rip, symbol);
/trunk/kernel/arch/mips32/src/exception.c
41,7 → 41,6
#include <arch.h>
#include <debug.h>
#include <proc/thread.h>
#include <symtab.h>
#include <print.h>
#include <interrupt.h>
#include <func.h>
48,6 → 47,10
#include <ddi/irq.h>
#include <arch/debugger.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
static char * exctable[] = {
"Interrupt",
"TLB Modified",
76,6 → 79,7
char *pcsymbol = "";
char *rasymbol = "";
 
#ifdef CONFIG_SYMTAB
char *s = get_symtab_entry(istate->epc);
if (s)
pcsymbol = s;
82,6 → 86,7
s = get_symtab_entry(istate->ra);
if (s)
rasymbol = s;
#endif
printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc, pcsymbol, istate->ra, rasymbol, istate->sp);
}
/trunk/kernel/arch/mips32/src/debugger.c
37,7 → 37,6
#include <memstr.h>
#include <console/kconsole.h>
#include <console/cmd.h>
#include <symtab.h>
#include <print.h>
#include <panic.h>
#include <arch.h>
44,6 → 43,10
#include <arch/cp0.h>
#include <func.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
bpinfo_t breakpoints[BKPOINTS_MAX];
SPINLOCK_INITIALIZE(bkpoint_lock);
 
259,7 → 262,11
for (i = 0; i < BKPOINTS_MAX; i++)
if (breakpoints[i].address) {
#ifdef CONFIG_SYMTAB
symbol = get_symtab_entry(breakpoints[i].address);
#else
symbol = "n/a";
#endif
printf("%-2u %-5d %#10zx %-6s %-7s %-8s %s\n", i,
breakpoints[i].counter, breakpoints[i].address,
348,9 → 355,14
if (cur->flags & BKPOINT_INPROG)
printf("Warning: breakpoint recursion\n");
if (!(cur->flags & BKPOINT_FUNCCALL))
if (!(cur->flags & BKPOINT_FUNCCALL)) {
#ifdef CONFIG_SYMTAB
printf("***Breakpoint %d: %p in %s.\n", i, fireaddr,
get_symtab_entry(istate->epc));
#else
printf("***Breakpoint %d: %p.\n", i, fireaddr);
#endif
}
 
/* Return first instruction back */
((uint32_t *)cur->address)[0] = cur->instruction;
363,8 → 375,12
}
cur->flags |= BKPOINT_INPROG;
} else {
printf("***Breakpoint %p in %s.\n", fireaddr,
#ifdef CONFIG_SYMTAB
printf("***Breakpoint %p in %s.\n", fireaddr,
get_symtab_entry(fireaddr));
#else
printf("***Breakpoint %p.\n", fireaddr);
#endif
/* Move on to next instruction */
istate->epc += 4;
}
/trunk/kernel/arch/mips32/src/mm/tlb.c
40,7 → 40,6
#include <arch/cp0.h>
#include <panic.h>
#include <arch.h>
#include <symtab.h>
#include <synch/mutex.h>
#include <print.h>
#include <debug.h>
47,6 → 46,10
#include <align.h>
#include <interrupt.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
static void tlb_refill_fail(istate_t *);
static void tlb_invalid_fail(istate_t *);
static void tlb_modified_fail(istate_t *);
323,6 → 326,7
char *symbol = "";
char *sym2 = "";
 
#ifdef CONFIG_SYMTAB
char *s = get_symtab_entry(istate->epc);
if (s)
symbol = s;
329,6 → 333,7
s = get_symtab_entry(istate->ra);
if (s)
sym2 = s;
#endif
 
fault_if_from_uspace(istate, "TLB Refill Exception on %p.",
cp0_badvaddr_read());
341,9 → 346,12
{
char *symbol = "";
 
#ifdef CONFIG_SYMTAB
char *s = get_symtab_entry(istate->epc);
if (s)
symbol = s;
#endif
 
fault_if_from_uspace(istate, "TLB Invalid Exception on %p.",
cp0_badvaddr_read());
panic("%x: TLB Invalid Exception at %x(%s).", cp0_badvaddr_read(),
354,9 → 362,12
{
char *symbol = "";
 
#ifdef CONFIG_SYMTAB
char *s = get_symtab_entry(istate->epc);
if (s)
symbol = s;
#endif
 
fault_if_from_uspace(istate, "TLB Modified Exception on %p.",
cp0_badvaddr_read());
panic("%x: TLB Modified Exception at %x(%s).", cp0_badvaddr_read(),
/trunk/kernel/arch/ia32/src/interrupt.c
44,7 → 44,6
#include <mm/tlb.h>
#include <mm/as.h>
#include <arch.h>
#include <symtab.h>
#include <proc/thread.h>
#include <proc/task.h>
#include <synch/spinlock.h>
53,6 → 52,10
#include <interrupt.h>
#include <ddi/irq.h>
 
#ifdef CONFIG_SYMTAB
#include <symtab.h>
#endif
 
/*
* Interrupt and exception dispatching.
*/
63,10 → 66,15
 
void decode_istate(istate_t *istate)
{
char *symbol = get_symtab_entry(istate->eip);
char *symbol;
 
#ifdef CONFIG_SYMTAB
symbol = get_symtab_entry(istate->eip);
if (!symbol)
symbol = "";
#else
symbol = "";
#endif
 
if (CPU)
printf("----------------EXCEPTION OCCURED (cpu%u)----------------\n", CPU->id);