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 --- |