dev: fixed bugs to extend interrupt capability beyond 15 cores
[gem5.git] / src / arch / x86 / interrupts.cc
index 9b2d42a16297688fda1c7ec5d01e38df506f1c6e..837c802ecd8b1441bd3439bbcbd08cef967fda58 100644 (file)
@@ -294,7 +294,14 @@ X86ISA::Interrupts::setCPU(BaseCPU * newCPU)
 void
 X86ISA::Interrupts::init()
 {
+    //
+    // The local apic must register its address ranges on both its pio port
+    // via the basicpiodevice(piodevice) init() function and its int port
+    // that it inherited from IntDev.  Note IntDev is not a SimObject itself.
+    //
     BasicPioDevice::init();
+    IntDev::init();
+
     Pc * pc = dynamic_cast<Pc *>(platform);
     assert(pc);
     pc->southBridge->ioApic->registerLocalApic(initialApicId, this);