summaryrefslogtreecommitdiff
path: root/kern
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-09-22 18:25:06 -0400
committerAli Saidi <saidi@eecs.umich.edu>2004-09-22 18:25:06 -0400
commiteb7d32907679c2f19e3bc896a76484f537bc986d (patch)
tree0b6875dc1970f18e6235e91021d81f0408350d2f /kern
parent9adb64ec70047d7f8709399f67c74402753f6579 (diff)
downloadgem5-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')
-rw-r--r--kern/linux/linux_system.cc14
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()