diff options
Diffstat (limited to 'configs')
-rw-r--r-- | configs/common/FSConfig.py | 4 | ||||
-rw-r--r-- | configs/common/Options.py | 2 | ||||
-rw-r--r-- | configs/example/arm/fs_bigLITTLE.py | 9 | ||||
-rw-r--r-- | configs/example/fs.py | 1 |
4 files changed, 11 insertions, 5 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index ecc5f1c82..e218c14c5 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -221,7 +221,7 @@ def makeSparcSystem(mem_mode, mdesc=None, cmdline=None): def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None, dtb_filename=None, bare_metal=False, cmdline=None, external_memory="", ruby=False, security=False, - vio_9p=None): + vio_9p=None, bootloader=None): assert machine_type pci_devices = [] @@ -312,7 +312,7 @@ def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None, 'lpj=19988480 norandmaps rw loglevel=8 ' + \ 'mem=%(mem)s root=%(rootdev)s' - self.realview.setupBootLoader(self, binary) + self.realview.setupBootLoader(self, binary, bootloader) if hasattr(self.realview.gic, 'cpu_addr'): self.gic_cpu_addr = self.realview.gic.cpu_addr diff --git a/configs/common/Options.py b/configs/common/Options.py index 173bd483c..1405012d6 100644 --- a/configs/common/Options.py +++ b/configs/common/Options.py @@ -444,6 +444,8 @@ def addFSOptions(parser): action="store_true", help="Enable stats dump at context "\ "switches and dump tasks file (required for Streamline)") parser.add_option("--vio-9p", action="store_true", help=vio_9p_help) + parser.add_option("--bootloader", action='append', + help="executable file that runs before the --kernel") # Benchmark options parser.add_option("--dual", action="store_true", diff --git a/configs/example/arm/fs_bigLITTLE.py b/configs/example/arm/fs_bigLITTLE.py index 4645d9ee8..969a84488 100644 --- a/configs/example/arm/fs_bigLITTLE.py +++ b/configs/example/arm/fs_bigLITTLE.py @@ -117,7 +117,7 @@ class Ex5LittleCluster(devices.CpuCluster): cpu_voltage, *cpu_config) def createSystem(caches, kernel, bootscript, machine_type="VExpress_GEM5", - disks=[], mem_size=default_mem_size): + disks=[], mem_size=default_mem_size, bootloader=None): platform = ObjectList.platform_list.get(machine_type) m5.util.inform("Simulated platform: %s", platform.__name__) @@ -144,7 +144,7 @@ def createSystem(caches, kernel, bootscript, machine_type="VExpress_GEM5", for dev in sys.pci_vio_block: sys.attach_pci(dev) - sys.realview.setupBootLoader(sys, SysPaths.binary) + sys.realview.setupBootLoader(sys, SysPaths.binary, bootloader) return sys @@ -203,6 +203,8 @@ def addOptions(parser): help="System memory size") parser.add_argument("--kernel-cmd", type=str, default=None, help="Custom Linux kernel command") + parser.add_argument("--bootloader", action="append", + help="executable file that runs before the --kernel") parser.add_argument("-P", "--param", action="append", default=[], help="Set a SimObject parameter relative to the root node. " "An extended Python multi range slicing syntax can be used " @@ -239,7 +241,8 @@ def build(options): options.bootscript, options.machine_type, disks=disks, - mem_size=options.mem_size) + mem_size=options.mem_size, + bootloader=options.bootloader) root.system = system if options.kernel_cmd: diff --git a/configs/example/fs.py b/configs/example/fs.py index e202d7513..e747b1aab 100644 --- a/configs/example/fs.py +++ b/configs/example/fs.py @@ -104,6 +104,7 @@ def build_test_system(np): ruby=options.ruby, security=options.enable_security_extensions, vio_9p=options.vio_9p, + bootloader=options.bootloader, ) if options.enable_context_switch_stats_dump: test_sys.enable_context_switch_stats_dump = True |