summaryrefslogtreecommitdiff
path: root/src/arch/x86/insts
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-11-09 21:55:43 -0800
committerGabe Black <gblack@eecs.umich.edu>2008-11-09 21:55:43 -0800
commit8c15518f30a5e7ffe0f82acde714c11000bc3714 (patch)
treecdaec941e7c84a1b73b3a4174b503df080590dc6 /src/arch/x86/insts
parent909380f3ee576f915f52c6245c59d41050a46f49 (diff)
downloadgem5-8c15518f30a5e7ffe0f82acde714c11000bc3714.tar.xz
X86: Fix completeAcc get call.
Diffstat (limited to 'src/arch/x86/insts')
-rw-r--r--src/arch/x86/insts/microldstop.hh20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/arch/x86/insts/microldstop.hh b/src/arch/x86/insts/microldstop.hh
index 5b1210d69..eccd37dc2 100644
--- a/src/arch/x86/insts/microldstop.hh
+++ b/src/arch/x86/insts/microldstop.hh
@@ -59,6 +59,7 @@
#define __ARCH_X86_INSTS_MICROLDSTOP_HH__
#include "arch/x86/insts/microop.hh"
+#include "mem/packet.hh"
namespace X86ISA
{
@@ -149,6 +150,25 @@ namespace X86ISA
}
return fault;
}
+
+ uint64_t
+ get(PacketPtr pkt) const
+ {
+ switch(dataSize)
+ {
+ case 1:
+ return pkt->get<uint8_t>();
+ case 2:
+ return pkt->get<uint16_t>();
+ case 4:
+ return pkt->get<uint32_t>();
+ case 8:
+ return pkt->get<uint64_t>();
+ default:
+ panic("Bad operand size %d for read at %#x.\n",
+ dataSize, pkt->getAddr());
+ }
+ }
};
}