configs: arm realview(64) regressions using VExpress_GEM5_V1

This patch is updating the arm regression configs so that the newer
VExpress_GEM_V1 platform is used instead of the older VExpress_EMM and
VExpress_EMM64.
A new optional kernel_mode argument has been added in order to
distinguish between realview and realview64 platforms. If not provided
the config will assume the machine is running a AArch64 kernel.

Other notable additions:
- DTB autogeneration in regressions
- Using minimal m5exit.squashfs disk image

Change-Id: Ia230565f072fe3eb7756c41876dba4657583f4df
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22687
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index 37cf72e..d1ef6c4 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -994,7 +994,7 @@
 
     def setupBootLoader(self, cur_sys, loc):
         if not cur_sys.boot_loader:
-            cur_sys.boot_loader = [ loc('boot_emm.arm64'), loc('boot_emm.arm') ]
+            cur_sys.boot_loader = [ loc('boot.arm64'), loc('boot.arm') ]
         cur_sys.atags_addr = 0x8000000
         cur_sys.load_offset = 0x80000000
 
@@ -1054,7 +1054,7 @@
             ]
 
     def setupBootLoader(self, cur_sys, loc):
-        cur_sys.boot_loader = [ loc('boot_emm_v2.arm64') ]
+        cur_sys.boot_loader = [ loc('boot_v2.arm64') ]
         super(VExpress_GEM5_V2_Base,self).setupBootLoader(
                 cur_sys, loc)
 
diff --git a/tests/configs/arm_generic.py b/tests/configs/arm_generic.py
index a243f13..c074f99 100644
--- a/tests/configs/arm_generic.py
+++ b/tests/configs/arm_generic.py
@@ -73,7 +73,7 @@
     ARM-specific create_system method to a class deriving from one of
     the generic base systems.
     """
-    def __init__(self, machine_type, **kwargs):
+    def __init__(self, machine_type, aarch64_kernel, **kwargs):
         """
         Arguments:
           machine_type -- String describing the platform to simulate
@@ -84,9 +84,21 @@
         self.num_cpus = kwargs.get('num_cpus', 1)
         self.mem_size = kwargs.get('mem_size', '256MB')
         self.use_ruby = kwargs.get('use_ruby', False)
+        self.aarch64_kernel = aarch64_kernel
 
     def create_system(self):
-        sc = SysConfig(None, self.mem_size, None)
+        if self.aarch64_kernel:
+            gem5_kernel = "vmlinux.arm64"
+            disk_image = "m5_exit.squashfs.arm64"
+        else:
+            gem5_kernel = "vmlinux.arm"
+            disk_image = "m5_exit.squashfs.arm"
+
+        default_kernels = {
+            "VExpress_GEM5_V1": gem5_kernel,
+        }
+
+        sc = SysConfig(None, self.mem_size, disk_image, "/dev/sda")
         system = FSConfig.makeArmSystem(self.mem_mode,
                                         self.machine_type, self.num_cpus,
                                         sc, False, ruby=self.use_ruby)
@@ -97,26 +109,21 @@
         system.panic_on_panic = True
         system.panic_on_oops = True
 
-        default_kernels = {
-            "VExpress_EMM": "vmlinux.aarch32.ll_20131205.0-gem5",
-            "VExpress_EMM64": "vmlinux.aarch64.20140821",
-        }
         system.kernel = SysPaths.binary(default_kernels[self.machine_type])
-        default_dtbs = {
-           "VExpress_EMM": "vexpress.aarch32.ll_20131205.0-gem5.{}cpu.dtb" \
-             .format(self.num_cpus),
-           "VExpress_EMM64": "vexpress.aarch64.20140821.dtb",
-        }
-        system.dtb_filename = SysPaths.binary(default_dtbs[self.machine_type])
 
         self.init_system(system)
+
+        system.generateDtb(m5.options.outdir, 'system.dtb')
         return system
 
 class LinuxArmFSSystem(LinuxArmSystemBuilder,
                        BaseFSSystem):
     """Basic ARM full system builder."""
 
-    def __init__(self, machine_type='VExpress_EMM', **kwargs):
+    def __init__(self,
+                 machine_type='VExpress_GEM5_V1',
+                 aarch64_kernel=True,
+                 **kwargs):
         """Initialize an ARM system that supports full system simulation.
 
         Note: Keyword arguments that are not listed below will be
@@ -126,7 +133,8 @@
           machine_type -- String describing the platform to simulate
         """
         BaseFSSystem.__init__(self, **kwargs)
-        LinuxArmSystemBuilder.__init__(self, machine_type, **kwargs)
+        LinuxArmSystemBuilder.__init__(
+            self, machine_type, aarch64_kernel, **kwargs)
 
     def create_caches_private(self, cpu):
         # Use the more representative cache configuration
@@ -143,13 +151,21 @@
     test cases.
     """
 
-    def __init__(self, machine_type='VExpress_EMM', **kwargs):
+    def __init__(self,
+                 machine_type='VExpress_GEM5_V1',
+                 aarch64_kernel=True,
+                 **kwargs):
         BaseFSSystemUniprocessor.__init__(self, **kwargs)
-        LinuxArmSystemBuilder.__init__(self, machine_type, **kwargs)
+        LinuxArmSystemBuilder.__init__(
+            self, machine_type, aarch64_kernel, **kwargs)
 
 class LinuxArmFSSwitcheroo(LinuxArmSystemBuilder, BaseFSSwitcheroo):
     """Uniprocessor ARM system prepared for CPU switching"""
 
-    def __init__(self, machine_type='VExpress_EMM', **kwargs):
+    def __init__(self,
+                 machine_type='VExpress_GEM5_V1',
+                 aarch64_kernel=True,
+                 **kwargs):
         BaseFSSwitcheroo.__init__(self, **kwargs)
-        LinuxArmSystemBuilder.__init__(self, machine_type, **kwargs)
+        LinuxArmSystemBuilder.__init__(
+            self, machine_type, aarch64_kernel, **kwargs)
diff --git a/tests/configs/realview-minor-dual.py b/tests/configs/realview-minor-dual.py
index ea01c24..84b8a1f 100644
--- a/tests/configs/realview-minor-dual.py
+++ b/tests/configs/realview-minor-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(mem_mode='timing',
+root = LinuxArmFSSystem(aarch64_kernel=False,
+                        mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=MinorCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview-minor.py b/tests/configs/realview-minor.py
index 486e72e..f621904 100644
--- a/tests/configs/realview-minor.py
+++ b/tests/configs/realview-minor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2014 ARM Limited
+# Copyright (c) 2014, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,6 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=MinorCPU).create_root()
diff --git a/tests/configs/realview-o3-checker.py b/tests/configs/realview-o3-checker.py
index 5bb266ff..c5c3b7d 100644
--- a/tests/configs/realview-o3-checker.py
+++ b/tests/configs/realview-o3-checker.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012, 2017 ARM Limited
+# Copyright (c) 2012, 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,7 +39,8 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=O3_ARM_v7a_3,
                                     checker=True).create_root()
diff --git a/tests/configs/realview-o3-dual.py b/tests/configs/realview-o3-dual.py
index 7b035ba..a731c31 100644
--- a/tests/configs/realview-o3-dual.py
+++ b/tests/configs/realview-o3-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012, 2017 ARM Limited
+# Copyright (c) 2012, 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,7 +39,8 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystem(mem_mode='timing',
+root = LinuxArmFSSystem(aarch64_kernel=False,
+                        mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=O3_ARM_v7a_3,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview-o3.py b/tests/configs/realview-o3.py
index 7212731..1986242 100644
--- a/tests/configs/realview-o3.py
+++ b/tests/configs/realview-o3.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,6 +39,7 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=O3_ARM_v7a_3).create_root()
diff --git a/tests/configs/realview-simple-atomic-checkpoint.py b/tests/configs/realview-simple-atomic-checkpoint.py
index 784d17b..e45ac69 100644
--- a/tests/configs/realview-simple-atomic-checkpoint.py
+++ b/tests/configs/realview-simple-atomic-checkpoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2015 ARM Limited
+# Copyright (c) 2015, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,7 +39,8 @@
 from arm_generic import *
 import checkpoint
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='atomic',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='atomic',
                                     mem_class=SimpleMemory,
                                     cpu_class=AtomicSimpleCPU).create_root()
 
diff --git a/tests/configs/realview-simple-atomic-dual.py b/tests/configs/realview-simple-atomic-dual.py
index 32d66f6..479abb4 100644
--- a/tests/configs/realview-simple-atomic-dual.py
+++ b/tests/configs/realview-simple-atomic-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(mem_mode='atomic',
+root = LinuxArmFSSystem(aarch64_kernel=False,
+                        mem_mode='atomic',
                         mem_class=SimpleMemory,
                         cpu_class=AtomicSimpleCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview-simple-atomic.py b/tests/configs/realview-simple-atomic.py
index b519548..28cc8dc 100644
--- a/tests/configs/realview-simple-atomic.py
+++ b/tests/configs/realview-simple-atomic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='atomic',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='atomic',
                                     mem_class=SimpleMemory,
                                     cpu_class=AtomicSimpleCPU).create_root()
 
diff --git a/tests/configs/realview-simple-timing-dual-ruby.py b/tests/configs/realview-simple-timing-dual-ruby.py
index d762fa6..4c35c5e 100644
--- a/tests/configs/realview-simple-timing-dual-ruby.py
+++ b/tests/configs/realview-simple-timing-dual-ruby.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 ARM Limited
+# Copyright (c) 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(mem_mode='timing',
+root = LinuxArmFSSystem(aarch64_kernel=False,
+                        mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=TimingSimpleCPU,
                         num_cpus=2,
diff --git a/tests/configs/realview-simple-timing-dual.py b/tests/configs/realview-simple-timing-dual.py
index e875c1f..cf47e1f 100644
--- a/tests/configs/realview-simple-timing-dual.py
+++ b/tests/configs/realview-simple-timing-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(mem_mode='timing',
+root = LinuxArmFSSystem(aarch64_kernel=False,
+                        mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=TimingSimpleCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview-simple-timing-ruby.py b/tests/configs/realview-simple-timing-ruby.py
index 41195ef..191d118 100644
--- a/tests/configs/realview-simple-timing-ruby.py
+++ b/tests/configs/realview-simple-timing-ruby.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 ARM Limited
+# Copyright (c) 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,8 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=TimingSimpleCPU,
                                     use_ruby=True).create_root()
diff --git a/tests/configs/realview-simple-timing.py b/tests/configs/realview-simple-timing.py
index 43a22b3..4582b70 100644
--- a/tests/configs/realview-simple-timing.py
+++ b/tests/configs/realview-simple-timing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,6 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(aarch64_kernel=False,
+                                    mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=TimingSimpleCPU).create_root()
diff --git a/tests/configs/realview-switcheroo-full.py b/tests/configs/realview-switcheroo-full.py
index cdecd25..9cd7309 100644
--- a/tests/configs/realview-switcheroo-full.py
+++ b/tests/configs/realview-switcheroo-full.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,6 +40,7 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
+    aarch64_kernel=False,
     mem_class=DDR3_1600_8x8,
     cpu_classes=(AtomicSimpleCPU, TimingSimpleCPU, MinorCPU, DerivO3CPU)
     ).create_root()
diff --git a/tests/configs/realview-switcheroo-o3.py b/tests/configs/realview-switcheroo-o3.py
index 54ed024..767548b 100644
--- a/tests/configs/realview-switcheroo-o3.py
+++ b/tests/configs/realview-switcheroo-o3.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,6 +40,7 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
+    aarch64_kernel=False,
     mem_class=DDR3_1600_8x8,
     cpu_classes=(DerivO3CPU, DerivO3CPU)
     ).create_root()
diff --git a/tests/configs/realview64-minor-dual.py b/tests/configs/realview64-minor-dual.py
index 7a7e218..936ea98 100644
--- a/tests/configs/realview64-minor-dual.py
+++ b/tests/configs/realview64-minor-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(machine_type='VExpress_EMM64',
-                        mem_mode='timing',
+root = LinuxArmFSSystem(mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=MinorCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview64-minor.py b/tests/configs/realview64-minor.py
index 796a36d..772b8a4 100644
--- a/tests/configs/realview64-minor.py
+++ b/tests/configs/realview64-minor.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2014 ARM Limited
+# Copyright (c) 2014, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,6 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=MinorCPU).create_root()
diff --git a/tests/configs/realview64-o3-checker.py b/tests/configs/realview64-o3-checker.py
index 5fd50e6..f73046c 100644
--- a/tests/configs/realview64-o3-checker.py
+++ b/tests/configs/realview64-o3-checker.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012, 2017 ARM Limited
+# Copyright (c) 2012, 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,8 +39,7 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=O3_ARM_v7a_3,
                                     checker=True).create_root()
diff --git a/tests/configs/realview64-o3-dual.py b/tests/configs/realview64-o3-dual.py
index 6c5dc0a..e8ea3fd 100644
--- a/tests/configs/realview64-o3-dual.py
+++ b/tests/configs/realview64-o3-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012, 2017 ARM Limited
+# Copyright (c) 2012, 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,8 +39,7 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystem(machine_type='VExpress_EMM64',
-                        mem_mode='timing',
+root = LinuxArmFSSystem(mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=O3_ARM_v7a_3,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview64-o3.py b/tests/configs/realview64-o3.py
index 2558093..1286f35 100644
--- a/tests/configs/realview64-o3.py
+++ b/tests/configs/realview64-o3.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012, 2017 ARM Limited
+# Copyright (c) 2012, 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -39,7 +39,6 @@
 from arm_generic import *
 from common.cores.arm.O3_ARM_v7a import O3_ARM_v7a_3
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=O3_ARM_v7a_3).create_root()
diff --git a/tests/configs/realview64-simple-atomic-checkpoint.py b/tests/configs/realview64-simple-atomic-checkpoint.py
index c90f0f3..f4fa249 100644
--- a/tests/configs/realview64-simple-atomic-checkpoint.py
+++ b/tests/configs/realview64-simple-atomic-checkpoint.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2015 ARM Limited
+# Copyright (c) 2015, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -41,8 +41,7 @@
 from arm_generic import *
 import checkpoint
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='atomic',
+root = LinuxArmFSSystemUniprocessor(mem_mode='atomic',
                                     mem_class=SimpleMemory,
                                     cpu_class=AtomicSimpleCPU).create_root()
 
diff --git a/tests/configs/realview64-simple-atomic-dual.py b/tests/configs/realview64-simple-atomic-dual.py
index 01b3edc..a0dc044 100644
--- a/tests/configs/realview64-simple-atomic-dual.py
+++ b/tests/configs/realview64-simple-atomic-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(machine_type='VExpress_EMM64',
-                        mem_mode='atomic',
+root = LinuxArmFSSystem(mem_mode='atomic',
                         mem_class=SimpleMemory,
                         cpu_class=AtomicSimpleCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview64-simple-atomic.py b/tests/configs/realview64-simple-atomic.py
index 8d9fe0c..9c557bb 100644
--- a/tests/configs/realview64-simple-atomic.py
+++ b/tests/configs/realview64-simple-atomic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='atomic',
+root = LinuxArmFSSystemUniprocessor(mem_mode='atomic',
                                     mem_class=SimpleMemory,
                                     cpu_class=AtomicSimpleCPU).create_root()
 
diff --git a/tests/configs/realview64-simple-timing-dual-ruby.py b/tests/configs/realview64-simple-timing-dual-ruby.py
index 234e976..0960750 100644
--- a/tests/configs/realview64-simple-timing-dual-ruby.py
+++ b/tests/configs/realview64-simple-timing-dual-ruby.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 ARM Limited
+# Copyright (c) 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(machine_type='VExpress_EMM64',
-                        mem_mode='timing',
+root = LinuxArmFSSystem(mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=TimingSimpleCPU,
                         num_cpus=2,
diff --git a/tests/configs/realview64-simple-timing-dual.py b/tests/configs/realview64-simple-timing-dual.py
index fe1e67d..5f2d9f4 100644
--- a/tests/configs/realview64-simple-timing-dual.py
+++ b/tests/configs/realview64-simple-timing-dual.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystem(machine_type='VExpress_EMM64',
-                        mem_mode='timing',
+root = LinuxArmFSSystem(mem_mode='timing',
                         mem_class=DDR3_1600_8x8,
                         cpu_class=TimingSimpleCPU,
                         num_cpus=2).create_root()
diff --git a/tests/configs/realview64-simple-timing-ruby.py b/tests/configs/realview64-simple-timing-ruby.py
index f2ec90f..9d4138f 100644
--- a/tests/configs/realview64-simple-timing-ruby.py
+++ b/tests/configs/realview64-simple-timing-ruby.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 ARM Limited
+# Copyright (c) 2017, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,8 +38,7 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=TimingSimpleCPU,
                                     use_ruby=True).create_root()
diff --git a/tests/configs/realview64-simple-timing.py b/tests/configs/realview64-simple-timing.py
index fb2844e..8a1eda2 100644
--- a/tests/configs/realview64-simple-timing.py
+++ b/tests/configs/realview64-simple-timing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -38,7 +38,6 @@
 from m5.objects import *
 from arm_generic import *
 
-root = LinuxArmFSSystemUniprocessor(machine_type='VExpress_EMM64',
-                                    mem_mode='timing',
+root = LinuxArmFSSystemUniprocessor(mem_mode='timing',
                                     mem_class=DDR3_1600_8x8,
                                     cpu_class=TimingSimpleCPU).create_root()
diff --git a/tests/configs/realview64-switcheroo-atomic.py b/tests/configs/realview64-switcheroo-atomic.py
index 5aa4699..69767cb 100644
--- a/tests/configs/realview64-switcheroo-atomic.py
+++ b/tests/configs/realview64-switcheroo-atomic.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,7 +40,6 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
-    machine_type='VExpress_EMM64',
     mem_class=SimpleMemory,
     cpu_classes=(AtomicSimpleCPU, AtomicSimpleCPU)
     ).create_root()
diff --git a/tests/configs/realview64-switcheroo-full.py b/tests/configs/realview64-switcheroo-full.py
index 6033e49..93bc95a 100644
--- a/tests/configs/realview64-switcheroo-full.py
+++ b/tests/configs/realview64-switcheroo-full.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,7 +40,6 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
-    machine_type='VExpress_EMM64',
     mem_class=DDR3_1600_8x8,
     cpu_classes=(AtomicSimpleCPU, TimingSimpleCPU, MinorCPU, DerivO3CPU)
     ).create_root()
diff --git a/tests/configs/realview64-switcheroo-o3.py b/tests/configs/realview64-switcheroo-o3.py
index 065e1e0..4045959 100644
--- a/tests/configs/realview64-switcheroo-o3.py
+++ b/tests/configs/realview64-switcheroo-o3.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,7 +40,6 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
-    machine_type='VExpress_EMM64',
     mem_class=DDR3_1600_8x8,
     cpu_classes=(DerivO3CPU, DerivO3CPU)
     ).create_root()
diff --git a/tests/configs/realview64-switcheroo-timing.py b/tests/configs/realview64-switcheroo-timing.py
index 6be6833..1fd8714 100644
--- a/tests/configs/realview64-switcheroo-timing.py
+++ b/tests/configs/realview64-switcheroo-timing.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 ARM Limited
+# Copyright (c) 2012, 2019 ARM Limited
 # All rights reserved.
 #
 # The license below extends only to copyright in the software and shall
@@ -40,7 +40,6 @@
 import switcheroo
 
 root = LinuxArmFSSwitcheroo(
-    machine_type='VExpress_EMM64',
     mem_class=DDR3_1600_8x8,
     cpu_classes=(TimingSimpleCPU, TimingSimpleCPU)
     ).create_root()
diff --git a/tests/gem5/fs/linux/arm/test.py b/tests/gem5/fs/linux/arm/test.py
index aaed764..4ed58ae 100644
--- a/tests/gem5/fs/linux/arm/test.py
+++ b/tests/gem5/fs/linux/arm/test.py
@@ -83,7 +83,7 @@
     'realview64-simple-timing-dual-ruby',
 ]
 
-tarball = 'aarch-system-2014-10.tar.bz2'
+tarball = 'aarch-system-201901106.tar.bz2'
 url = "http://gem5.org/dist/current/arm/" + tarball
 path = os.path.dirname(os.path.abspath(__file__))
 arm_fs_binaries = DownloadedArchive(url, path, tarball)