diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py index 44ac104b5..9e5fd3a0b 100644 --- a/configs/common/FSConfig.py +++ b/configs/common/FSConfig.py @@ -334,6 +334,9 @@ 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) diff --git a/configs/example/ruby_fs.py b/configs/example/ruby_fs.py index adc8e6147..2081a10c4 100644 --- a/configs/example/ruby_fs.py +++ b/configs/example/ruby_fs.py @@ -111,19 +111,17 @@ CPUClass.clock = options.clock if buildEnv['TARGET_ISA'] == "alpha": system = makeLinuxAlphaRubySystem(test_mem_mode, bm[0]) - system.ruby = Ruby.create_system(options, - system, - system.piobus, - system.dma_devices) elif buildEnv['TARGET_ISA'] == "x86": system = makeLinuxX86System(test_mem_mode, options.num_cpus, bm[0], True) setWorkCountOptions(system, options) - system.ruby = Ruby.create_system(options, - system, - system.piobus) else: fatal("incapable of building non-alpha or non-x86 full system!") +system.ruby = Ruby.create_system(options, + system, + system.piobus, + system._dma_devices) + system.cpu = [CPUClass(cpu_id=i) for i in xrange(options.num_cpus)] for (i, cpu) in enumerate(system.cpu):