diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-11-01 04:01:14 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-11-01 04:01:14 -0700 |
commit | b6da5e2086b864149d65519333910d41351d4117 (patch) | |
tree | cd0997ce638eb87661c3ff5456d27259fb9a11a7 /src/arch/alpha/utility.cc | |
parent | 1268e0df1f3d16d804b31005acf8067415771518 (diff) | |
download | gem5-b6da5e2086b864149d65519333910d41351d4117.tar.xz |
SE/FS: Get rid of uses of FULL_SYSTEM in Alpha.
Diffstat (limited to 'src/arch/alpha/utility.cc')
-rw-r--r-- | src/arch/alpha/utility.cc | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/src/arch/alpha/utility.cc b/src/arch/alpha/utility.cc index 5d40f85d7..0048e43e9 100644 --- a/src/arch/alpha/utility.cc +++ b/src/arch/alpha/utility.cc @@ -30,35 +30,33 @@ */ #include "arch/alpha/utility.hh" - -#if FULL_SYSTEM #include "arch/alpha/vtophys.hh" #include "mem/vport.hh" -#endif +#include "sim/full_system.hh" namespace AlphaISA { uint64_t getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp) { -#if FULL_SYSTEM - const int NumArgumentRegs = 6; - if (number < NumArgumentRegs) { - if (fp) - return tc->readFloatRegBits(16 + number); - else - return tc->readIntReg(16 + number); + if (FullSystem) { + const int NumArgumentRegs = 6; + if (number < NumArgumentRegs) { + if (fp) + return tc->readFloatRegBits(16 + number); + else + return tc->readIntReg(16 + number); + } else { + Addr sp = tc->readIntReg(StackPointerReg); + VirtualPort *vp = tc->getVirtPort(); + uint64_t arg = vp->read<uint64_t>(sp + + (number-NumArgumentRegs) * sizeof(uint64_t)); + return arg; + } } else { - Addr sp = tc->readIntReg(StackPointerReg); - VirtualPort *vp = tc->getVirtPort(); - uint64_t arg = vp->read<uint64_t>(sp + - (number-NumArgumentRegs) * sizeof(uint64_t)); - return arg; + panic("getArgument() is Full system only\n"); + M5_DUMMY_RETURN; } -#else - panic("getArgument() is Full system only\n"); - M5_DUMMY_RETURN; -#endif } void |