diff options
Diffstat (limited to 'src/arch/x86/interrupts.cc')
-rw-r--r-- | src/arch/x86/interrupts.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/arch/x86/interrupts.cc b/src/arch/x86/interrupts.cc index dc4193f36..88d200b80 100644 --- a/src/arch/x86/interrupts.cc +++ b/src/arch/x86/interrupts.cc @@ -59,6 +59,9 @@ #include "arch/x86/interrupts.hh" #include "arch/x86/intmessage.hh" #include "cpu/base.hh" +#include "dev/x86/i82094aa.hh" +#include "dev/x86/pc.hh" +#include "dev/x86/south_bridge.hh" #include "mem/packet_access.hh" #include "sim/system.hh" @@ -306,6 +309,16 @@ X86ISA::Interrupts::setCPU(BaseCPU * newCPU) } +void +X86ISA::Interrupts::init() +{ + BasicPioDevice::init(); + Pc * pc = dynamic_cast<Pc *>(platform); + assert(pc); + pc->southBridge->ioApic->registerLocalApic(initialApicId, this); +} + + Tick X86ISA::Interrupts::recvMessage(PacketPtr pkt) { |