ARM: Add support for running multiple systems
authorAli Saidi <Ali.Saidi@ARM.com>
Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)
committerAli Saidi <Ali.Saidi@ARM.com>
Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)
configs/common/FSConfig.py
configs/example/fs.py
src/dev/arm/pl111.cc

index 3e0a3df2e2ca466be9a72eaa8e5ac0a5adb23ab8..f54d63852cb943295862078b320f5f6d9618e726 100644 (file)
@@ -483,6 +483,15 @@ def makeDualRoot(testSystem, driveSystem, dumpfile):
     self.etherlink.int0 = Parent.testsys.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:
         self.etherdump = EtherDump(file=dumpfile)
         self.etherlink.dump = Parent.etherdump
index 8ae8d8310156ec387afa53f7fb34d314af4a9a24..05e35c4ba933c07ea93ad8208c3d92a828e331d8 100644 (file)
@@ -192,8 +192,8 @@ if len(bm) == 2:
     elif buildEnv['TARGET_ISA'] == 'x86':
         drive_sys = makeX86System(drive_mem_mode, np, bm[1])
     elif buildEnv['TARGET_ISA'] == 'arm':
-        drive_sys = makeArmSystem(drive_mem_mode,
-                machine_options.machine_type, bm[1])
+        drive_sys = makeArmSystem(drive_mem_mode, options.machine_type, bm[1])
+
     drive_sys.cpu = DriveCPUClass(cpu_id=0)
     drive_sys.cpu.connectAllPorts(drive_sys.membus)
     if options.fastmem:
index e13045338d6480ca1c8f0427691f37d9b9f6764f..958f07aa777a460bcb3340c3b83fae9915c7cf03 100644 (file)
@@ -67,7 +67,7 @@ Pl111::Pl111(const Params *p)
 {
     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)];