syscall_emul: [patch 13/22] add system call retry capability
[gem5.git] / src / arch / x86 / microcode_rom.hh
index f8ad410ce4d3f9465373194fe5ac515f962f3898..4a35e06a35bf5e3e458dd1ab03013170c03bb1da 100644 (file)
@@ -31,6 +31,7 @@
 #ifndef __ARCH_X86_MICROCODE_ROM_HH__
 #define __ARCH_X86_MICROCODE_ROM_HH__
 
+#include "arch/x86/insts/badmicroop.hh"
 #include "arch/x86/emulenv.hh"
 #include "cpu/static_inst.hh"
 
@@ -60,8 +61,10 @@ namespace X86ISAInst
         fetchMicroop(MicroPC microPC, StaticInstPtr curMacroop)
         {
             microPC = normalMicroPC(microPC);
-            assert(microPC < numMicroops);
-            return genFuncs[microPC](curMacroop);
+            if (microPC >= numMicroops)
+                return X86ISA::badMicroop;
+            else
+                return genFuncs[microPC](curMacroop);
         }
     };
 }