harness: fix armv7 machines to work with coreboot enabled platforms
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 22 Sep 2016 12:14:12 +0000 (14:14 +0200)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 22 Sep 2016 12:14:12 +0000 (14:14 +0200)
Signed-off-by: Simon Gerber <simon.gerber@inf.ethz.ch>

tools/harness/machines/__init__.py
tools/harness/machines/fvp.py
tools/harness/machines/gem5.py
tools/harness/machines/qemu.py

index d5809cf..3363a79 100644 (file)
@@ -118,7 +118,8 @@ class ARMMachineBase(Machine):
         self.menulst = None
         self.mmap = None
         self.kernel_args = None
-        self.menulst_template = "menu.lst." + self.get_bootarch() + "_" + self.get_platform()
+        self.menulst_template = "menu.lst." + self.get_bootarch() + "_" + \
+                                self.get_platform() + ("_%d" % self.get_ncores())
         self._set_kernel_image()
 
     def _get_template_menu_lst(self):
index 0aed4e6..3d44875 100644 (file)
@@ -16,7 +16,7 @@ FVP_LICENSE = '8224@sgv-license-01.ethz.ch'
 FVP_START_TIMEOUT = 5 # in seconds
 
 class FVPMachineBase(ARMSimulatorBase):
-    imagename = "armv7_a9ve_image"
+    imagename = "armv7_a9ve_1_image"
 
     def __init__(self, options):
         super(FVPMachineBase, self).__init__(options)
@@ -59,7 +59,7 @@ class FVPMachineARMv7(FVPMachineBase):
         # write menu.lst in build directory
         debug.verbose("writing menu.lst in build directory")
         menulst_fullpath = os.path.join(self.options.builds[0].build_dir,
-                "platforms", "arm", "menu.lst.armv7_a9ve")
+                "platforms", "arm", "menu.lst.armv7_a9ve_1")
         debug.verbose("writing menu.lst in build directory: %s" %
                 menulst_fullpath)
         self._write_menu_lst(modules.get_menu_data("/"), menulst_fullpath)
index 6bd0ebf..d25cbf0 100644 (file)
@@ -15,13 +15,13 @@ import os, signal, tempfile, subprocess, shutil, time
 import debug, machines
 from machines import ARMSimulatorBase
 
-GEM5_PATH = '/home/netos/tools/gem5/gem5-stable'
+GEM5_PATH = '/home/netos/tools/gem5/gem5-stable-1604'
 # gem5 takes quite a while to come up. If we return right away,
 # telnet will be opened too early and fails to connect
 GEM5_START_TIMEOUT = 5 # in seconds
 
 class Gem5MachineBase(ARMSimulatorBase):
-    imagename = "armv7_a15ve_image"
+    imagename = "armv7_a15ve_1_image"
 
     def __init__(self, options):
         super(Gem5MachineBase, self).__init__(options)
@@ -31,7 +31,8 @@ class Gem5MachineBase(ARMSimulatorBase):
         self.options = options
         self.simulator_start_timeout = GEM5_START_TIMEOUT
         # menu.lst template for gem5 is special
-        self.menulst_template += "_gem5"
+        # XXX: current template does not work because gem5 coreboot NYI
+        self.menulst_template = "menu.lst.armv7_a15ve_gem5"
 
     def get_buildall_target(self):
         return "VExpressEMM-A15"
index 15464aa..564f573 100644 (file)
@@ -175,7 +175,7 @@ class QEMUMachineARMv7Uniproc(QEMUMachineBase, ARMMachineBase):
     '''Uniprocessor ARMv7 QEMU'''
     name = 'qemu_armv7'
 
-    imagename = "armv7_a15ve_image"
+    imagename = "armv7_a15ve_1_image"
 
     def __init__(self, options):
         super(QEMUMachineARMv7Uniproc, self).__init__(options)
@@ -197,7 +197,7 @@ class QEMUMachineARMv7Uniproc(QEMUMachineBase, ARMMachineBase):
         # write menu.lst
         debug.verbose("Writing menu.lst in build directory.")
         menulst_fullpath = os.path.join(self.options.builds[0].build_dir,
-                "platforms", "arm", "menu.lst.armv7_a15ve")
+                "platforms", "arm", "menu.lst.armv7_a15ve_1")
         self._write_menu_lst(modules.get_menu_data('/'), menulst_fullpath)
 
         # produce ROM image
@@ -220,6 +220,8 @@ class QEMUMachineZynq7(QEMUMachineBase, ARMMachineBase):
     def __init__(self, options):
         super(QEMUMachineZynq7, self).__init__(options)
         self._set_kernel_image()
+        # XXX: change this once we have proper zynq7 configurations
+        self.menulst_template = "menu.lst.armv7_zynq7"
 
     def get_ncores(self):
         return 1