mem-cache: Add multiple eviction stats
[gem5.git] / src / arch / x86 / utility.cc
index 13019e90eca9740aa1fa39a51f355e8a4ea85b0c..75f242d83e0b6dfc0d9c9b1a5263d97f6674d8d3 100644 (file)
@@ -74,24 +74,7 @@ getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp)
 void
 initCPU(ThreadContext *tc, int cpuId)
 {
-    // This function is essentially performing a reset. The actual INIT
-    // interrupt does a subset of this, so we'll piggyback on some of its
-    // functionality.
-    InitInterrupt init(0);
-    init.invoke(tc);
-
-    // Set integer register EAX to 0 to indicate that the optional BIST
-    // passed. No BIST actually runs, but software may still check this
-    // register for errors.
-    tc->setIntReg(INTREG_RAX, 0);
-
-    Interrupts * interrupts = dynamic_cast<Interrupts *>(
-            tc->getCpuPtr()->getInterruptController(0));
-    assert(interrupts);
-
-    interrupts->setRegNoEffect(APIC_ID, cpuId << 24);
-
-    interrupts->setRegNoEffect(APIC_VERSION, (5 << 16) | 0x14);
+    InitInterrupt(0).invoke(tc);
 }
 
 void startupCPU(ThreadContext *tc, int cpuId)