diff -r 95eb22928d0f configs/common/FSConfig.py --- a/configs/common/FSConfig.py Thu Sep 03 15:40:20 2015 -0500 +++ b/configs/common/FSConfig.py Thu Sep 03 14:37:10 2015 -0700 @@ -447,17 +447,13 @@ - 1)] # connect the io bus - x86_sys.pc.attachIO(x86_sys.iobus) + x86_sys.pc.attachIO(x86_sys.iobus, x86_sys._dma_ports) x86_sys.system_port = x86_sys.membus.slave def connectX86RubySystem(x86_sys): # North Bridge x86_sys.iobus = IOXBar() - - # add the ide to the list of dma devices that later need to attach to - # dma controllers - x86_sys._dma_ports = [x86_sys.pc.south_bridge.ide.dma] x86_sys.pc.attachIO(x86_sys.iobus, x86_sys._dma_ports) @@ -465,6 +461,8 @@ if self == None: self = X86System() + self._dma_ports = [] + if not mdesc: # generic system mdesc = SysConfig() @@ -491,12 +489,24 @@ # Platform self.pc = Pc() + if Ruby: + x86_sys._dma_ports.append(x86_sys.pc.south_bridge.ide.dma) + # Create and connect the busses required by each memory system if Ruby: connectX86RubySystem(self) else: connectX86ClassicSystem(self, numCPUs) + # Graphics device + self.cirrus = Cirrus(pci_func=0, pci_dev=5, pci_bus=0) + self.cirrus.pio = self.iobus.master + self.cirrus.config = self.iobus.master + if Ruby: + x86_sys._dma_ports.append(self.cirrus.dma) + else: + self.cirrus.dma = self.iobus.slave + self.intrctrl = IntrControl() # Disks