summaryrefslogtreecommitdiff
path: root/src/arch/arm/faults.cc
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-08-25 19:10:42 -0500
committerGabe Black <gblack@eecs.umich.edu>2010-08-25 19:10:42 -0500
commit54a919f22587c75be5e7f0b88d5ec13baba600aa (patch)
tree65b9d338a6968f16296e761ab7ce9a4867514b7e /src/arch/arm/faults.cc
parent6368edb281f162e4fbb0a91744992a25134135f4 (diff)
downloadgem5-54a919f22587c75be5e7f0b88d5ec13baba600aa.tar.xz
ARM: Implement CPACR register and return Undefined Instruction when FP access is disabled.
Diffstat (limited to 'src/arch/arm/faults.cc')
-rw-r--r--src/arch/arm/faults.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc
index 793f9d3a4..79973185d 100644
--- a/src/arch/arm/faults.cc
+++ b/src/arch/arm/faults.cc
@@ -159,8 +159,12 @@ Reset::invoke(ThreadContext *tc)
void
UndefinedInstruction::invoke(ThreadContext *tc)
{
+ // If the mnemonic isn't defined this has to be an unknown instruction.
assert(unknown || mnemonic != NULL);
- if (unknown) {
+ if (disabled) {
+ panic("Attempted to execute disabled instruction "
+ "'%s' (inst 0x%08x)", mnemonic, machInst);
+ } else if (unknown) {
panic("Attempted to execute unknown instruction (inst 0x%08x)",
machInst);
} else {