FSConfig.py (10747:3fe41011333d) FSConfig.py (10780:46070443051e)
1# Copyright (c) 2010-2012 ARM Limited
1# Copyright (c) 2010-2012, 2015 ARM Limited
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 188 unchanged lines hidden (view full) ---

198 self.hypervisor_desc_bin = binary('1up-hv.bin')
199 self.partition_desc_bin = binary('1up-md.bin')
200
201 self.system_port = self.membus.slave
202
203 return self
204
205def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,
2# All rights reserved.
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license
9# terms below provided that you ensure that this notice is replicated

--- 188 unchanged lines hidden (view full) ---

198 self.hypervisor_desc_bin = binary('1up-hv.bin')
199 self.partition_desc_bin = binary('1up-md.bin')
200
201 self.system_port = self.membus.slave
202
203 return self
204
205def makeArmSystem(mem_mode, machine_type, num_cpus=1, mdesc=None,
206 dtb_filename=None, bare_metal=False, cmdline=None):
206 dtb_filename=None, bare_metal=False, cmdline=None,
207 external_memory=""):
207 assert machine_type
208
209 if bare_metal:
210 self = ArmSystem()
211 else:
212 self = LinuxArmSystem()
213
214 if not mdesc:

--- 73 unchanged lines hidden (view full) ---

288 self.dtb_filename = binary(dtb_filename)
289 self.machine_type = machine_type
290 # Ensure that writes to the UART actually go out early in the boot
291 if not cmdline:
292 cmdline = 'earlyprintk=pl011,0x1c090000 console=ttyAMA0 ' + \
293 'lpj=19988480 norandmaps rw loglevel=8 ' + \
294 'mem=%(mem)s root=%(rootdev)s'
295
208 assert machine_type
209
210 if bare_metal:
211 self = ArmSystem()
212 else:
213 self = LinuxArmSystem()
214
215 if not mdesc:

--- 73 unchanged lines hidden (view full) ---

289 self.dtb_filename = binary(dtb_filename)
290 self.machine_type = machine_type
291 # Ensure that writes to the UART actually go out early in the boot
292 if not cmdline:
293 cmdline = 'earlyprintk=pl011,0x1c090000 console=ttyAMA0 ' + \
294 'lpj=19988480 norandmaps rw loglevel=8 ' + \
295 'mem=%(mem)s root=%(rootdev)s'
296
296 self.realview.setupBootLoader(self.membus, self, binary)
297 # When using external memory, gem5 writes the boot loader to nvmem
298 # and then SST will read from it, but SST can only get to nvmem from
299 # iobus, as gem5's membus is only used for initialization and
300 # SST doesn't use it. Attaching nvmem to iobus solves this issue.
301 # During initialization, system_port -> membus -> iobus -> nvmem.
302 if external_memory:
303 self.realview.setupBootLoader(self.iobus, self, binary)
304 else:
305 self.realview.setupBootLoader(self.membus, self, binary)
297 self.gic_cpu_addr = self.realview.gic.cpu_addr
298 self.flags_addr = self.realview.realview_io.pio_addr + 0x30
299
300 # This check is for users who have previously put 'android' in
301 # the disk image filename to tell the config scripts to
302 # prepare the kernel with android-specific boot options. That
303 # behavior has been replaced with a more explicit option per
304 # the error message below. The disk can have any name now and

--- 12 unchanged lines hidden (view full) ---

317
318 # release-specific tweaks
319 if 'kitkat' in mdesc.os_type():
320 cmdline += " androidboot.hardware=gem5 qemu=1 qemu.gles=0 " + \
321 "android.bootanim=0"
322
323 self.boot_osflags = fillInCmdline(mdesc, cmdline)
324
306 self.gic_cpu_addr = self.realview.gic.cpu_addr
307 self.flags_addr = self.realview.realview_io.pio_addr + 0x30
308
309 # This check is for users who have previously put 'android' in
310 # the disk image filename to tell the config scripts to
311 # prepare the kernel with android-specific boot options. That
312 # behavior has been replaced with a more explicit option per
313 # the error message below. The disk can have any name now and

--- 12 unchanged lines hidden (view full) ---

326
327 # release-specific tweaks
328 if 'kitkat' in mdesc.os_type():
329 cmdline += " androidboot.hardware=gem5 qemu=1 qemu.gles=0 " + \
330 "android.bootanim=0"
331
332 self.boot_osflags = fillInCmdline(mdesc, cmdline)
333
325 self.realview.attachOnChipIO(self.membus, self.bridge)
334 if external_memory:
335 # I/O traffic enters iobus
336 self.external_io = ExternalMaster(port_data="external_io",
337 port_type=external_memory)
338 self.external_io.port = self.iobus.slave
339
340 # Ensure iocache only receives traffic destined for (actual) memory.
341 self.iocache = ExternalSlave(port_data="iocache",
342 port_type=external_memory,
343 addr_ranges=self.mem_ranges)
344 self.iocache.port = self.iobus.master
345
346 # Let system_port get to nvmem and nothing else.
347 self.bridge.ranges = [self.realview.nvmem.range]
348
349 self.realview.attachOnChipIO(self.iobus)
350 else:
351 self.realview.attachOnChipIO(self.membus, self.bridge)
326 self.realview.attachIO(self.iobus)
327 self.intrctrl = IntrControl()
328 self.terminal = Terminal()
329 self.vncserver = VncServer()
330
331 self.system_port = self.membus.slave
332
333 return self

--- 288 unchanged lines hidden ---
352 self.realview.attachIO(self.iobus)
353 self.intrctrl = IntrControl()
354 self.terminal = Terminal()
355 self.vncserver = VncServer()
356
357 self.system_port = self.membus.slave
358
359 return self

--- 288 unchanged lines hidden ---