diff options
author | Chander Sudanthi <Chander.Sudanthi@ARM.com> | 2011-09-13 12:06:13 -0500 |
---|---|---|
committer | Chander Sudanthi <Chander.Sudanthi@ARM.com> | 2011-09-13 12:06:13 -0500 |
commit | 7c479d734922d0b9dd5c9b4404ef6d62b3d91075 (patch) | |
tree | 769ca64c18b45fb6505d24233a601c879778ecd2 /src/arch/arm | |
parent | 09a6e424ec966d66ec2f8cfba86d4b4141438c5a (diff) | |
download | gem5-7c479d734922d0b9dd5c9b4404ef6d62b3d91075.tar.xz |
CP15 c15: enable execution with accesses to c15 registers
Previously, coprocessor accesses to CP15 c15 would fault. This patch
enables accesses but prints out a warning, as the registers are not implemented.
Diffstat (limited to 'src/arch/arm')
-rw-r--r-- | src/arch/arm/isa/formats/misc.isa | 3 | ||||
-rw-r--r-- | src/arch/arm/miscregs.cc | 2 | ||||
-rw-r--r-- | src/arch/arm/miscregs.hh | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/arm/isa/formats/misc.isa b/src/arch/arm/isa/formats/misc.isa index 4a9200504..54482864a 100644 --- a/src/arch/arm/isa/formats/misc.isa +++ b/src/arch/arm/isa/formats/misc.isa @@ -143,6 +143,9 @@ let {{ case MISCREG_L2LATENCY: return new WarnUnimplemented( isRead ? "mrc l2latency" : "mcr l2latency", machInst); + case MISCREG_CRN15: + return new WarnUnimplemented( + isRead ? "mrc crn15" : "mcr crn15", machInst); // Write only. case MISCREG_TLBIALLIS: diff --git a/src/arch/arm/miscregs.cc b/src/arch/arm/miscregs.cc index 1fecaa38d..db097c653 100644 --- a/src/arch/arm/miscregs.cc +++ b/src/arch/arm/miscregs.cc @@ -463,7 +463,7 @@ decodeCP15Reg(unsigned crn, unsigned opc1, unsigned crm, unsigned opc2) break; case 15: // Implementation defined - break; + return MISCREG_CRN15; } // Unrecognized register return NUM_MISCREGS; diff --git a/src/arch/arm/miscregs.hh b/src/arch/arm/miscregs.hh index f99748622..5e5735de7 100644 --- a/src/arch/arm/miscregs.hh +++ b/src/arch/arm/miscregs.hh @@ -196,6 +196,7 @@ namespace ArmISA MISCREG_ISR, MISCREG_FCEIDR, MISCREG_L2LATENCY, + MISCREG_CRN15, MISCREG_CP15_END, @@ -249,6 +250,7 @@ namespace ArmISA "dccmvau", "nsacr", "vbar", "mvbar", "isr", "fceidr", "l2latency", + "crn15", "nop", "raz" }; |