summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/formats/misc.isa
diff options
context:
space:
mode:
authorMatt Horsnell <Matt.Horsnell@ARM.com>2011-01-18 16:30:05 -0600
committerMatt Horsnell <Matt.Horsnell@ARM.com>2011-01-18 16:30:05 -0600
commitadbd84ab9fffdcdce18f564acffa508c10164c9f (patch)
treeaa6d90545a22e3524e33022176666569a47d83ba /src/arch/arm/isa/formats/misc.isa
parent11bef2ab3811e5c7a65d33ba86718d8c606be87a (diff)
downloadgem5-adbd84ab9fffdcdce18f564acffa508c10164c9f.tar.xz
ARM: The ARM decoder should not panic when decoding undefined holes is arch.
This can abort simulations when the fetch unit runs ahead and speculatively decodes instructions that are off the execution path.
Diffstat (limited to 'src/arch/arm/isa/formats/misc.isa')
-rw-r--r--src/arch/arm/isa/formats/misc.isa5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/arm/isa/formats/misc.isa b/src/arch/arm/isa/formats/misc.isa
index c2003fe6d..6a734a582 100644
--- a/src/arch/arm/isa/formats/misc.isa
+++ b/src/arch/arm/isa/formats/misc.isa
@@ -100,7 +100,10 @@ let {{
case MISCREG_NOP:
return new NopInst(machInst);
case NUM_MISCREGS:
- return new Unknown(machInst);
+ return new FailUnimplemented(
+ csprintf("miscreg crn:%d opc1:%d crm:%d opc2:%d %s unknown",
+ crn, opc1, crm, opc2, isRead ? "read" : "write").c_str(),
+ machInst);
case MISCREG_DCCISW:
return new WarnUnimplemented(
isRead ? "mrc dccisw" : "mcr dcisw", machInst);