summaryrefslogtreecommitdiff
path: root/src/arch/arm/ArmSystem.py
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2015-12-03 23:53:37 +0000
committerAndreas Sandberg <andreas.sandberg@arm.com>2015-12-03 23:53:37 +0000
commita1aeff27ce2978bb5fd0a3da66878d914cfb4da2 (patch)
tree6ec8b023033566edef0276710153fabc2917e33e /src/arch/arm/ArmSystem.py
parent146dfd0356c4a086e397679eba1ffb57b19ce07a (diff)
downloadgem5-a1aeff27ce2978bb5fd0a3da66878d914cfb4da2.tar.xz
arm: Add support for automatic boot loader selection
Add support for automatically selecting a boot loader that matches the guest system's kernel. Instead of accepting a single boot loader, the ArmSystem class now accepts a vector of boot loaders. When initializing a system, the we now look for the first boot loader with an architecture that matches the kernel. This changeset makes it possible to use the same system for both 64-bit and 32-bit kernels.
Diffstat (limited to 'src/arch/arm/ArmSystem.py')
-rw-r--r--src/arch/arm/ArmSystem.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py
index b9769da4b..1e5acc4e6 100644
--- a/src/arch/arm/ArmSystem.py
+++ b/src/arch/arm/ArmSystem.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2009, 2012-2013 ARM Limited
+# Copyright (c) 2009, 2012-2013, 2015 ARM Limited
# All rights reserved.
#
# The license below extends only to copyright in the software and shall
@@ -50,7 +50,10 @@ class ArmSystem(System):
cxx_header = "arch/arm/system.hh"
load_addr_mask = 0xffffffff
multi_proc = Param.Bool(True, "Multiprocessor system?")
- boot_loader = Param.String("", "File that contains the boot loader code if any")
+ boot_loader = VectorParam.String([],
+ "File that contains the boot loader code. Zero or more files may be "
+ "specified. The first boot loader that matches the kernel's "
+ "architecture will be used.")
gic_cpu_addr = Param.Addr(0, "Addres of the GIC CPU interface")
flags_addr = Param.Addr(0, "Address of the flags register for MP booting")
have_security = Param.Bool(False,