summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/templates
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/isa/templates
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/isa/templates')
-rw-r--r--src/arch/arm/isa/templates/vfp.isa12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/arch/arm/isa/templates/vfp.isa b/src/arch/arm/isa/templates/vfp.isa
index b0443c734..5de52738c 100644
--- a/src/arch/arm/isa/templates/vfp.isa
+++ b/src/arch/arm/isa/templates/vfp.isa
@@ -37,6 +37,18 @@
//
// Authors: Gabe Black
+let {{
+ vfpEnabledCheckCode = '''
+ if (!vfpEnabled(Cpacr, Cpsr, Fpexc))
+ return disabledFault();
+ '''
+
+ vmsrrsEnabledCheckCode = '''
+ if (!vfpEnabled(Cpacr, Cpsr))
+ return disabledFault();
+ '''
+}};
+
def template FpRegRegOpDeclare {{
class %(class_name)s : public %(base_class)s
{