33,34d32
<
< #if FULL_SYSTEM
36,37c34,35
< #include "mem/fs_translating_port_proxy.hh"
< #endif
---
> #include "mem/vport.hh"
> #include "sim/full_system.hh"
44,50c42,55
< #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;
> }
52,56c57,58
< Addr sp = tc->readIntReg(StackPointerReg);
< FSTranslatingPortProxy* vp = tc->getVirtProxy();
< 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;
58,61d59
< #else
< panic("getArgument() is Full system only\n");
< M5_DUMMY_RETURN;
< #endif