diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-04-06 15:00:11 -0400 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-04-06 15:00:11 -0400 |
commit | 6a962f8343d0e7f138baa4034633c986eecc9edf (patch) | |
tree | f16fdcc7455b0e7cd14af660ebdeb029db3c669a /arch/alpha/arguments.cc | |
parent | 3124c5b7bb0cdcb3b16b52533c6a3e50a5970152 (diff) | |
parent | 6240f8c4bcf12e3367905adfba066bb14f79262a (diff) | |
download | gem5-6a962f8343d0e7f138baa4034633c986eecc9edf.tar.xz |
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
--HG--
extra : convert_revision : bd6352647798275a12d52d55a129cdddd8e25423
Diffstat (limited to 'arch/alpha/arguments.cc')
-rw-r--r-- | arch/alpha/arguments.cc | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/alpha/arguments.cc b/arch/alpha/arguments.cc index fe6e78abc..adc371682 100644 --- a/arch/alpha/arguments.cc +++ b/arch/alpha/arguments.cc @@ -29,7 +29,7 @@ #include "arch/alpha/arguments.hh" #include "arch/alpha/vtophys.hh" #include "cpu/exec_context.hh" -#include "mem/functional/physical.hh" +#include "mem/vport.hh" using namespace AlphaISA; @@ -59,11 +59,10 @@ AlphaArguments::getArg(bool fp) return xc->readIntReg(16 + number); } else { Addr sp = xc->readIntReg(30); - Addr paddr = vtophys(xc, sp + (number-6) * sizeof(uint64_t)); - // @todo: This read must go through the system or something else. -// return xc->getPhysMemPtr()->phys_read_qword(paddr); - panic("Need to fix alpha arguments\n"); - return 0; + VirtualPort *vp = xc->getVirtPort(xc); + uint64_t arg = vp->read<uint64_t>(sp + (number-6) * sizeof(uint64_t)); + xc->delVirtPort(vp); + return arg; } } |