diff --git a/src/arch/arm/isa/formats/aarch64.isa b/src/arch/arm/isa/formats/aarch64.isa index 7752ba08f8..00bd0770fc 100644 --- a/src/arch/arm/isa/formats/aarch64.isa +++ b/src/arch/arm/isa/formats/aarch64.isa @@ -369,7 +369,14 @@ namespace Aarch64 } // Check for invalid registers if (miscReg == MISCREG_UNKNOWN) { - return new Unknown64(machInst); + auto full_mnemonic = + csprintf("%s op0:%d op1:%d crn:%d crm:%d op2:%d", + read ? "mrs" : "msr", + op0, op1, crn, crm, op2); + + return new FailUnimplemented(read ? "mrs" : "msr", + machInst, full_mnemonic); + } else if (miscRegInfo[miscReg][MISCREG_IMPLEMENTED]) { if (miscReg == MISCREG_NZCV) { if (read)