ARM: Clarifies creation of Linux and baremetal ARM systems.

makeArmSystem creates both bare-metal and Linux systems more cleanly.
machine_type was never optional though listed as an optional argument; a system
such as "RealView_PBX" must now be explicitly specified.  Now that it is a
required argument, the placement of the arguments has changed slightly
requiring some changes to calls that create ARM systems.
This commit is contained in:
Ali Saidi
2011-02-23 15:10:48 -06:00
parent e2a6275c03
commit 79dac89552
4 changed files with 18 additions and 14 deletions

View File

@@ -184,8 +184,9 @@ def makeSparcSystem(mem_mode, mdesc = None):
return self
def makeLinuxArmSystem(mem_mode, mdesc = None, bare_metal=False,
machine_type = None):
def makeArmSystem(mem_mode, machine_type, mdesc = None, bare_metal=False):
assert machine_type
if bare_metal:
self = ArmSystem()
else:
@@ -228,10 +229,15 @@ def makeLinuxArmSystem(mem_mode, mdesc = None, bare_metal=False,
print "Unknown Machine Type"
sys.exit(1)
if not bare_metal and machine_type:
self.machine_type = machine_type
elif bare_metal:
if bare_metal:
# EOT character on UART will end the simulation
self.realview.uart.end_on_eot = True
else:
self.machine_type = machine_type
self.kernel = binary('vmlinux.arm')
self.boot_osflags = 'earlyprintk mem=128MB console=ttyAMA0' + \
' lpj=19988480 norandmaps slram=slram0,0x8000000,+0x8000000' + \
' mtdparts=slram0:- rw loglevel=8 root=/dev/mtdblock0'
self.realview.attachOnChipIO(self.membus)
self.realview.attachIO(self.iobus)
@@ -239,10 +245,6 @@ def makeLinuxArmSystem(mem_mode, mdesc = None, bare_metal=False,
self.intrctrl = IntrControl()
self.terminal = Terminal()
self.vncserver = VncServer()
self.kernel = binary('vmlinux.arm')
self.boot_osflags = 'earlyprintk mem=128MB console=ttyAMA0 lpj=19988480' + \
' norandmaps slram=slram0,0x8000000,+0x8000000' + \
' mtdparts=slram0:- rw loglevel=8 root=/dev/mtdblock0'
return self