diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2012-04-05 11:09:19 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2012-04-05 11:09:19 -0500 |
commit | 4f4a710457af4a9c8e72632995b55f106110ac9c (patch) | |
tree | 816cc9af7167d0d016df34768fdf701ea5d3a140 /configs/common | |
parent | f1a60906132fb816f80917d830b34df5e5d87ad4 (diff) | |
download | gem5-4f4a710457af4a9c8e72632995b55f106110ac9c.tar.xz |
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.
Diffstat (limited to 'configs/common')
-rw-r--r-- | configs/common/FSConfig.py | 13 |
1 files changed, 5 insertions, 8 deletions
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) |