From 4f4a710457af4a9c8e72632995b55f106110ac9c Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Thu, 5 Apr 2012 11:09:19 -0500 Subject: Config: corrects the way Ruby attaches to the DMA ports With recent changes to the memory system, a port cannot be assigned a peer port twice. While making use of the Ruby memory system in FS mode, DMA ports were assigned peer twice, once for the classic memory system and once for the Ruby memory system. This patch removes this double assignment of peer ports. --- configs/common/FSConfig.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'configs/common') diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index 4c2d0a66c..de2d9181d 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -134,16 +134,14 @@ def makeLinuxAlphaRubySystem(mem_mode, mdesc = None): self.tsunami.attachIO(self.piobus) self.tsunami.ide.pio = self.piobus.master self.tsunami.ide.config = self.piobus.master - self.tsunami.ide.dma = self.piobus.slave self.tsunami.ethernet.pio = self.piobus.master self.tsunami.ethernet.config = self.piobus.master - self.tsunami.ethernet.dma = self.piobus.slave # # Store the dma devices for later connection to dma ruby ports. # Append an underscore to dma_devices to avoid the SimObjectVector check. # - self._dma_devices = [self.tsunami.ide, self.tsunami.ethernet] + self._dma_ports = [self.tsunami.ide.dma, self.tsunami.ethernet.dma] self.simple_disk = SimpleDisk(disk=RawDiskImage(image_file = mdesc.disk(), read_only = True)) @@ -408,8 +406,10 @@ def connectX86RubySystem(x86_sys): # the piobus a direct connection to physical memory # x86_sys.piobus.master = x86_sys.physmem.port - - x86_sys.pc.attachIO(x86_sys.piobus) + # 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.piobus, x86_sys._dma_ports) def makeX86System(mem_mode, numCPUs = 1, mdesc = None, self = None, Ruby = False): @@ -432,9 +432,6 @@ def makeX86System(mem_mode, numCPUs = 1, mdesc = None, self = None, Ruby = False # Create and connect the busses required by each memory system if Ruby: connectX86RubySystem(self) - # add the ide to the list of dma devices that later need to attach to - # dma controllers - self._dma_devices = [self.pc.south_bridge.ide] else: connectX86ClassicSystem(self, numCPUs) -- cgit v1.2.3