summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2012-02-26 15:33:07 -0800
committerGabe Black <gblack@eecs.umich.edu>2012-02-26 15:33:07 -0800
commit5917fb3292e359fcc53bb9c4a187cc2e8eb67bbd (patch)
treed1deaf7c93272529104158eacd4dd589888a5e3f
parent559b43a372f966046e23d0183a5f714214febe0a (diff)
downloadgem5-5917fb3292e359fcc53bb9c4a187cc2e8eb67bbd.tar.xz
Make the IO bridge accept address headed to all the local APICs.
-rw-r--r--configs/common/FSConfig.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index 8e694b8c1..fdc636a1f 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -354,7 +354,7 @@ def x86IOAddress(port):
IO_address_space_base = 0x8000000000000000
return IO_address_space_base + port
-def connectX86ClassicSystem(x86_sys):
+def connectX86ClassicSystem(x86_sys, numCPUs):
# Constants similar to x86_traits.hh
IO_address_space_base = 0x8000000000000000
pci_config_address_space_base = 0xc000000000000000
@@ -390,7 +390,8 @@ def connectX86ClassicSystem(x86_sys):
x86_sys.apicbridge.master = x86_sys.membus.slave
x86_sys.apicbridge.ranges = [AddrRange(interrupts_address_space_base,
interrupts_address_space_base +
- APIC_range_size - 1)]
+ numCPUs * APIC_range_size
+ - 1)]
# connect the io bus
x86_sys.pc.attachIO(x86_sys.iobus)
@@ -435,7 +436,7 @@ def makeX86System(mem_mode, numCPUs = 1, mdesc = None, self = None, Ruby = False
# dma controllers
self._dma_devices = [self.pc.south_bridge.ide]
else:
- connectX86ClassicSystem(self)
+ connectX86ClassicSystem(self, numCPUs)
self.intrctrl = IntrControl()