diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-09-22 18:25:06 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-09-22 18:25:06 -0400 |
commit | eb7d32907679c2f19e3bc896a76484f537bc986d (patch) | |
tree | 0b6875dc1970f18e6235e91021d81f0408350d2f /kern/linux | |
parent | 9adb64ec70047d7f8709399f67c74402753f6579 (diff) | |
download | gem5-eb7d32907679c2f19e3bc896a76484f537bc986d.tar.xz |
fix unaligned memory offset and some small fixes to interrupt binning
code
arch/alpha/alpha_memory.cc:
Fixed unaligned trap faults
arch/alpha/ev5.cc:
little more verbose faulting information
kern/linux/linux_system.cc:
more descriptive errors, and the correct offsets from symbols
sim/system.cc:
load local pal symbols
--HG--
extra : convert_revision : 0c81badf77321d5e1a060dcae2d42204e5a1fc84
Diffstat (limited to 'kern/linux')
-rw-r--r-- | kern/linux/linux_system.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/kern/linux/linux_system.cc b/kern/linux/linux_system.cc index 539bac649..fd5d48195 100644 --- a/kern/linux/linux_system.cc +++ b/kern/linux/linux_system.cc @@ -148,26 +148,26 @@ LinuxSystem::LinuxSystem(Params *p) if (palSymtab->findAddress("sys_int_21", addr)) intStartEvent->schedule(addr + sizeof(MachInst) * 2); else - panic("could not find symbol\n"); + panic("could not find symbol: sys_int_21\n"); intEndEvent = new InterruptEndEvent(&pcEventQueue, "intEndEvent"); if (palSymtab->findAddress("rti_to_kern", addr)) - intEndEvent->schedule(addr + sizeof(MachInst)); + intEndEvent->schedule(addr) ; else - panic("could not find symbol\n"); + panic("could not find symbol: rti_to_kern\n"); intEndEvent2 = new InterruptEndEvent(&pcEventQueue, "intEndEvent2"); if (palSymtab->findAddress("rti_to_user", addr)) - intEndEvent2->schedule(addr + sizeof(MachInst)); + intEndEvent2->schedule(addr); else - panic("could not find symbol\n"); + panic("could not find symbol: rti_to_user\n"); intEndEvent3 = new InterruptEndEvent(&pcEventQueue, "intEndEvent3"); if (kernelSymtab->findAddress("do_softirq", addr)) - intEndEvent3->schedule(addr + sizeof(MachInst)); + intEndEvent3->schedule(addr + sizeof(MachInst) * 2); else - panic("could not find symbol\n"); + panic("could not find symbol: do_softirq\n"); } LinuxSystem::~LinuxSystem() |