X86: Add a LocalApic trace flag.
authorGabe Black <gblack@eecs.umich.edu>
Sun, 12 Oct 2008 19:07:25 +0000 (12:07 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Sun, 12 Oct 2008 19:07:25 +0000 (12:07 -0700)
src/arch/x86/SConscript
src/arch/x86/interrupts.cc

index e019b77c94fb81cde3537808d7c8de65e38b28b2..c1a1b9ba3ea8e22f50821e865dbec94e21ce2e23 100644 (file)
@@ -109,6 +109,8 @@ if env['TARGET_ISA'] == 'x86':
     TraceFlag('X86')
 
     if env['FULL_SYSTEM']:
+        TraceFlag('LocalApic')
+
         SimObject('X86LocalApic.py')
         SimObject('X86System.py')
 
index 5814859b34bdd45e95c0a4c74217faf8d8b494a6..6f1920de0193c777fb587c379f29bb73beecab72 100644 (file)
@@ -215,6 +215,9 @@ X86ISA::Interrupts::read(PacketPtr pkt)
         panic("Accessed more than one register at a time in the APIC!\n");
     ApicRegIndex reg = decodeAddr(offset);
     uint32_t val = htog(readReg(reg));
+    DPRINTF(LocalApic,
+            "Reading Local APIC register %d at offset %#x as %#x.\n",
+            reg, offset, val);
     pkt->setData(((uint8_t *)&val) + (offset & mask(3)));
     return latency;
 }
@@ -229,6 +232,9 @@ X86ISA::Interrupts::write(PacketPtr pkt)
     ApicRegIndex reg = decodeAddr(offset);
     uint32_t val = regs[reg];
     pkt->writeData(((uint8_t *)&val) + (offset & mask(3)));
+    DPRINTF(LocalApic,
+            "Writing Local APIC register %d at offset %#x as %#x.\n",
+            reg, offset, gtoh(val));
     setReg(reg, gtoh(val));
     return latency;
 }