ARM: Add support for running multiple systems

This commit is contained in:
Ali Saidi 2012-01-09 18:08:20 -06:00
parent 8d757038b5
commit bcb71963eb
3 changed files with 12 additions and 3 deletions

View file

@ -483,6 +483,15 @@ def makeDualRoot(testSystem, driveSystem, dumpfile):
self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface
self.etherlink.int1 = Parent.drivesys.tsunami.ethernet.interface self.etherlink.int1 = Parent.drivesys.tsunami.ethernet.interface
if hasattr(testSystem, 'realview'):
self.etherlink.int0 = Parent.testsys.realview.ethernet.interface
self.etherlink.int1 = Parent.drivesys.realview.ethernet.interface
elif hasattr(testSystem, 'tsunami'):
self.etherlink.int0 = Parent.testsys.tsunami.ethernet.interface
self.etherlink.int1 = Parent.drivesys.tsunami.ethernet.interface
else:
fatal("Don't know how to connect these system together")
if dumpfile: if dumpfile:
self.etherdump = EtherDump(file=dumpfile) self.etherdump = EtherDump(file=dumpfile)
self.etherlink.dump = Parent.etherdump self.etherlink.dump = Parent.etherdump

View file

@ -192,8 +192,8 @@ if len(bm) == 2:
elif buildEnv['TARGET_ISA'] == 'x86': elif buildEnv['TARGET_ISA'] == 'x86':
drive_sys = makeX86System(drive_mem_mode, np, bm[1]) drive_sys = makeX86System(drive_mem_mode, np, bm[1])
elif buildEnv['TARGET_ISA'] == 'arm': elif buildEnv['TARGET_ISA'] == 'arm':
drive_sys = makeArmSystem(drive_mem_mode, drive_sys = makeArmSystem(drive_mem_mode, options.machine_type, bm[1])
machine_options.machine_type, bm[1])
drive_sys.cpu = DriveCPUClass(cpu_id=0) drive_sys.cpu = DriveCPUClass(cpu_id=0)
drive_sys.cpu.connectAllPorts(drive_sys.membus) drive_sys.cpu.connectAllPorts(drive_sys.membus)
if options.fastmem: if options.fastmem:

View file

@ -67,7 +67,7 @@ Pl111::Pl111(const Params *p)
{ {
pioSize = 0xFFFF; pioSize = 0xFFFF;
pic = simout.create("framebuffer.bmp", true); pic = simout.create(csprintf("%s.framebuffer.bmp", sys->name()), true);
dmaBuffer = new uint8_t[LcdMaxWidth * LcdMaxHeight * sizeof(uint32_t)]; dmaBuffer = new uint8_t[LcdMaxWidth * LcdMaxHeight * sizeof(uint32_t)];