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 = []
'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
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",
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__)
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
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 "
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: