summaryrefslogtreecommitdiff
path: root/src/arch/alpha/isa/decoder.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2008-10-11 02:27:21 -0700
committerGabe Black <gblack@eecs.umich.edu>2008-10-11 02:27:21 -0700
commitda7209ec93f3cdad11c02906357f06fa29652996 (patch)
tree54847aa95a3dc16e94d42f985722b5dac0322ad9 /src/arch/alpha/isa/decoder.isa
parent3af428606ad35e2cd40d5d1d39010ff732bfee4f (diff)
downloadgem5-da7209ec93f3cdad11c02906357f06fa29652996.tar.xz
CPU: Eliminate the hwrei function.
Diffstat (limited to 'src/arch/alpha/isa/decoder.isa')
-rw-r--r--src/arch/alpha/isa/decoder.isa11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/arch/alpha/isa/decoder.isa b/src/arch/alpha/isa/decoder.isa
index 270940df2..8025ba69f 100644
--- a/src/arch/alpha/isa/decoder.isa
+++ b/src/arch/alpha/isa/decoder.isa
@@ -786,7 +786,16 @@ decode OPCODE default Unknown::unknown() {
format BasicOperate {
0x1e: decode PALMODE {
0: OpcdecFault::hw_rei();
- 1:hw_rei({{ xc->hwrei(); }}, IsSerializing, IsSerializeBefore);
+ 1: hw_rei({{
+ NPC = ExcAddr;
+ ThreadContext * tc = xc->tcBase();
+ if (!tc->misspeculating()) {
+ AlphaISA::Kernel::Statistics * kernelStats =
+ tc->getKernelStats();
+ if (kernelStats)
+ kernelStats->hwrei();
+ }
+ }}, IsSerializing, IsSerializeBefore);
}
// M5 special opcodes use the reserved 0x01 opcode space