diff options
author | Ali Saidi <Ali.Saidi@arm.com> | 2010-08-23 11:18:40 -0500 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@arm.com> | 2010-08-23 11:18:40 -0500 |
commit | 330fada1aa8fa3134c97ef44aba5a84d8620b8ae (patch) | |
tree | 7cda04858e0896199b90631236a578b4f47f7d89 /configs/example/fs.py | |
parent | bb5377899a2213be2ecaab25fa4858fae81d0a12 (diff) | |
download | gem5-330fada1aa8fa3134c97ef44aba5a84d8620b8ae.tar.xz |
ARM: Add configuration for Linux/Full System
Diffstat (limited to 'configs/example/fs.py')
-rw-r--r-- | configs/example/fs.py | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/configs/example/fs.py b/configs/example/fs.py index a5a5661f0..a45b48c76 100644 --- a/configs/example/fs.py +++ b/configs/example/fs.py @@ -1,3 +1,15 @@ +# Copyright (c) 2010 ARM Limited +# All rights reserved. +# +# The license below extends only to copyright in the software and shall +# not be construed as granting a license to any other intellectual +# property including but not limited to intellectual property relating +# to a hardware implementation of the functionality of the software +# licensed hereunder. You may use the software subject to the license +# terms below provided that you ensure that this notice is replicated +# unmodified and in its entirety in all distributions of the software, +# modified or unmodified, in source code or in binary form. +# # Copyright (c) 2006-2007 The Regents of The University of Michigan # All rights reserved. # @@ -56,7 +68,11 @@ parser = optparse.OptionParser() # System options parser.add_option("--kernel", action="store", type="string") parser.add_option("--script", action="store", type="string") - +if buildEnv['TARGET_ISA'] == "arm": + parser.add_option("--bare-metal", action="store_true", + help="Provide the raw system without the linux specific bits") + parser.add_option("--machine-type", action="store", type="choice", + choices=ArmMachineType.map.keys(), default="RealView_PBX") # Benchmark options parser.add_option("--dual", action="store_true", help="Simulate two systems attached with an ethernet link") @@ -112,6 +128,9 @@ elif buildEnv['TARGET_ISA'] == "sparc": test_sys = makeSparcSystem(test_mem_mode, bm[0]) elif buildEnv['TARGET_ISA'] == "x86": test_sys = makeLinuxX86System(test_mem_mode, np, bm[0]) +elif buildEnv['TARGET_ISA'] == "arm": + test_sys = makeLinuxArmSystem(test_mem_mode, bm[0], + bare_metal=options.bare_metal, machine_type=options.machine_type) else: fatal("incapable of building non-alpha or non-sparc full system!") @@ -126,9 +145,13 @@ test_sys.cpu = [TestCPUClass(cpu_id=i) for i in xrange(np)] CacheConfig.config_cache(options, test_sys) if options.caches or options.l2cache: + if bm[0]: + mem_size = bm[0].mem() + else: + mem_size = SysConfig().mem() test_sys.bridge.filter_ranges_a=[AddrRange(0, Addr.max)] - test_sys.bridge.filter_ranges_b=[AddrRange(0, size='8GB')] - test_sys.iocache = IOCache(addr_range=AddrRange(0, size='8GB')) + test_sys.bridge.filter_ranges_b=[AddrRange(mem_size)] + test_sys.iocache = IOCache(addr_range=mem_size) test_sys.iocache.cpu_side = test_sys.iobus.port test_sys.iocache.mem_side = test_sys.membus.port @@ -148,6 +171,8 @@ if len(bm) == 2: drive_sys = makeSparcSystem(drive_mem_mode, bm[1]) elif buildEnv['TARGET_ISA'] == 'x86': drive_sys = makeX86System(drive_mem_mode, np, bm[1]) + elif buildEnv['TARGET_ISA'] == 'arm': + drive_sys = makeLinuxArmSystem(drive_mem_mode, bm[1]) drive_sys.cpu = DriveCPUClass(cpu_id=0) drive_sys.cpu.connectMemPorts(drive_sys.membus) if options.fastmem: |