diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-10-09 04:44:02 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-10-09 04:44:02 -0700 |
commit | 48b40cff650cb071b189826af2f2e1f78434f49b (patch) | |
tree | cdd36ce1e5caec2f5846f310801053ea91952c03 /src/arch | |
parent | f338d60930e973d330d13715b8617c22b980dcca (diff) | |
download | gem5-48b40cff650cb071b189826af2f2e1f78434f49b.tar.xz |
Interrupts: Make the IO APIC go get the local APICs.
This is so they don't have to declare themselves to the IO APIC and don't have
to have a pointer to the platform object.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/x86/X86LocalApic.py | 3 | ||||
-rw-r--r-- | src/arch/x86/interrupts.cc | 8 | ||||
-rw-r--r-- | src/arch/x86/interrupts.hh | 7 |
3 files changed, 3 insertions, 15 deletions
diff --git a/src/arch/x86/X86LocalApic.py b/src/arch/x86/X86LocalApic.py index cfb225240..2f53c4e24 100644 --- a/src/arch/x86/X86LocalApic.py +++ b/src/arch/x86/X86LocalApic.py @@ -38,6 +38,3 @@ class X86LocalApic(BasicPioDevice): int_port = Port("Port for sending and receiving interrupt messages") int_latency = Param.Latency('1ns', \ "Latency for an interrupt to propagate through this device.") - if buildEnv['FULL_SYSTEM']: # No platform in SE mode. - platform = Param.Platform(Parent.any, - "Platform this device is part of.") diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc index 55b5bdca9..38b966dbe 100644 --- a/src/arch/x86/interrupts.cc +++ b/src/arch/x86/interrupts.cc @@ -304,11 +304,6 @@ X86ISA::Interrupts::init() // BasicPioDevice::init(); IntDev::init(); -#if FULL_SYSTEM - Pc * pc = dynamic_cast<Pc *>(platform); - assert(pc); - pc->southBridge->ioApic->registerLocalApic(initialApicId, this); -#endif } @@ -616,9 +611,6 @@ X86ISA::Interrupts::Interrupts(Params * p) : pendingStartup(false), startupVector(0), startedUp(false), pendingUnmaskableInt(false), pendingIPIs(0), cpu(NULL) -#if FULL_SYSTEM - , platform(p->platform) -#endif { pioSize = PageBytes; memset(regs, 0, sizeof(regs)); diff --git a/src/arch/x86/interrupts.hh b/src/arch/x86/interrupts.hh index 46e5e5cad..03b4c97b3 100644 --- a/src/arch/x86/interrupts.hh +++ b/src/arch/x86/interrupts.hh @@ -176,11 +176,10 @@ class Interrupts : public BasicPioDevice, IntDev int initialApicId; -#if FULL_SYSTEM - Platform *platform; -#endif - public: + + int getInitialApicId() { return initialApicId; } + /* * Params stuff. */ |