summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/riscv/decoder.cc2
-rw-r--r--src/arch/x86/insts/badmicroop.cc9
-rw-r--r--src/arch/x86/isa/microops/base.isa3
3 files changed, 10 insertions, 4 deletions
diff --git a/src/arch/riscv/decoder.cc b/src/arch/riscv/decoder.cc
index 020c5e34e..41a52020e 100644
--- a/src/arch/riscv/decoder.cc
+++ b/src/arch/riscv/decoder.cc
@@ -45,7 +45,7 @@ void Decoder::reset()
aligned = true;
mid = false;
more = true;
- emi = NoopMachInst;
+ emi = 0;
instDone = false;
}
diff --git a/src/arch/x86/insts/badmicroop.cc b/src/arch/x86/insts/badmicroop.cc
index 21af1281b..09248738d 100644
--- a/src/arch/x86/insts/badmicroop.cc
+++ b/src/arch/x86/insts/badmicroop.cc
@@ -42,14 +42,21 @@
#include "arch/x86/generated/decoder.hh"
#include "arch/x86/isa_traits.hh"
+namespace {
+
+static X86ISA::ExtMachInst dummyMachInst;
+
+}
+
namespace X86ISA
{
// This microop needs to be allocated on the heap even though it could
// theoretically be statically allocated. The reference counted pointer would
// try to delete the static memory when it was destructed.
+
const StaticInstPtr badMicroop =
- new X86ISAInst::MicroPanic(NoopMachInst, "BAD",
+ new X86ISAInst::MicroPanic(dummyMachInst, "BAD",
StaticInst::IsMicroop | StaticInst::IsLastMicroop,
"Invalid microop!", 0);
diff --git a/src/arch/x86/isa/microops/base.isa b/src/arch/x86/isa/microops/base.isa
index dc36d0edb..42e7d2e33 100644
--- a/src/arch/x86/isa/microops/base.isa
+++ b/src/arch/x86/isa/microops/base.isa
@@ -59,8 +59,7 @@ let {{
''' + generatorNameTemplate + '''(StaticInstPtr curMacroop)
{
static const char *macrocodeBlock = romMnemonic;
- static const ExtMachInst dummyExtMachInst = \
- X86ISA::NoopMachInst;
+ static ExtMachInst dummyExtMachInst;
static const EmulEnv dummyEmulEnv(0, 0, 1, 1, 1);
Macroop * macroop = dynamic_cast<Macroop *>(curMacroop.get());