summaryrefslogtreecommitdiff
path: root/util/cpt_upgrader.py
diff options
context:
space:
mode:
authorChander Sudanthi <chander.sudanthi@arm.com>2013-10-31 13:41:13 -0500
committerChander Sudanthi <chander.sudanthi@arm.com>2013-10-31 13:41:13 -0500
commit3e6da89419e5d53dc8a0df446473a4f28808bc46 (patch)
tree12f3418eda6eb4255e9c9b06fabf240f134a1ca2 /util/cpt_upgrader.py
parentd17529b046d832f889a0fdb506c3b8d1aed5cccb (diff)
downloadgem5-3e6da89419e5d53dc8a0df446473a4f28808bc46.tar.xz
ARM: add support for TEEHBR access
Thumb2 ARM kernels may access the TEEHBR via thumbee_notifier in arch/arm/kernel/thumbee.c. The Linux kernel code just seems to be saving and restoring the register. This patch adds support for the TEEHBR cp14 register. Note, this may be a special case when restoring from an image that was run on a system that supports ThumbEE.
Diffstat (limited to 'util/cpt_upgrader.py')
-rwxr-xr-xutil/cpt_upgrader.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/util/cpt_upgrader.py b/util/cpt_upgrader.py
index b5b54c1f2..e6ee7d562 100755
--- a/util/cpt_upgrader.py
+++ b/util/cpt_upgrader.py
@@ -217,6 +217,18 @@ def from_6(cpt):
if cpt.has_option(sec, "curSector"):
cpt.set(sec, "dmaAborted", "false")
+# Version 8 of the checkpoint adds an ARM MISCREG
+def from_7(cpt):
+ if cpt.get('root','isa') == 'arm':
+ for sec in cpt.sections():
+ import re
+ # Search for all ISA sections
+ if re.search('.*sys.*\.cpu.*\.isa', sec):
+ mr = cpt.get(sec, 'miscRegs').split()
+ # Add dummy value for MISCREG_TEEHBR
+ mr.insert(51,0);
+ cpt.set(sec, 'miscRegs', ' '.join(str(x) for x in mr))
+
migrations = []
migrations.append(from_0)
@@ -226,6 +238,7 @@ migrations.append(from_3)
migrations.append(from_4)
migrations.append(from_5)
migrations.append(from_6)
+migrations.append(from_7)
verbose_print = False