diff options
Diffstat (limited to 'kern/tru64')
-rw-r--r-- | kern/tru64/tru64_events.cc | 7 | ||||
-rw-r--r-- | kern/tru64/tru64_syscalls.hh | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/kern/tru64/tru64_events.cc b/kern/tru64/tru64_events.cc index fb9d43a0e..a322060d8 100644 --- a/kern/tru64/tru64_events.cc +++ b/kern/tru64/tru64_events.cc @@ -32,8 +32,9 @@ #include "kern/tru64/tru64_events.hh" #include "kern/tru64/dump_mbuf.hh" #include "kern/tru64/printf.hh" -#include "targetarch/arguments.hh" #include "mem/functional_mem/memory_control.hh" +#include "targetarch/arguments.hh" +#include "targetarch/isa_traits.hh" //void SkipFuncEvent::process(ExecContext *xc); @@ -46,8 +47,8 @@ BadAddrEvent::process(ExecContext *xc) uint64_t a0 = xc->regs.intRegFile[ArgumentReg0]; - if (a0 < ALPHA_K0SEG_BASE || a0 >= ALPHA_K1SEG_BASE || - xc->memctrl->badaddr(ALPHA_K0SEG_TO_PHYS(a0) & PA_IMPL_MASK)) { + if (!TheISA::IsK0Seg(a0) || + xc->memctrl->badaddr(TheISA::K0Seg2Phys(a0) & PA_IMPL_MASK)) { DPRINTF(BADADDR, "badaddr arg=%#x bad\n", a0); xc->regs.intRegFile[ReturnValueReg] = 0x1; diff --git a/kern/tru64/tru64_syscalls.hh b/kern/tru64/tru64_syscalls.hh index f4853e3f8..7ddc699b1 100644 --- a/kern/tru64/tru64_syscalls.hh +++ b/kern/tru64/tru64_syscalls.hh @@ -29,11 +29,14 @@ #ifndef __TRU64_SYSCALLS_HH__ #define __TRU64_SYSCALLS_HH__ -#include "targetarch/syscalls.hh" #include "kern/tru64/tru64.hh" -struct SystemCalls<Tru64> +template <class OS> +class SystemCalls; + +class SystemCalls<Tru64> { + public: enum { syscall = 0, exit = 1, |