X86: Don't map the local APIC into the physical address space in SE mode.
authorGabe Black <gblack@eecs.umich.edu>
Sat, 1 Mar 2008 05:05:12 +0000 (00:05 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Sat, 1 Mar 2008 05:05:12 +0000 (00:05 -0500)
--HG--
extra : convert_revision : b7103974b12130bbf43583c4cb5294b808add208

src/arch/x86/tlb.cc

index a87abf2122f7d3d0b72e94421113311c760e51e5..3e720c9ae58827e9a627c89f98c3ff725f3afc9e 100644 (file)
@@ -592,6 +592,7 @@ TLB::translate(RequestPtr &req, ThreadContext *tc, bool write, bool execute)
         req->setPaddr(vaddr);
     }
     // Check for an access to the local APIC
+#if FULL_SYSTEM
     LocalApicBase localApicBase = tc->readMiscRegNoEffect(MISCREG_APIC_BASE);
     Addr baseAddr = localApicBase.base << 12;
     Addr paddr = req->getPaddr();
@@ -733,6 +734,7 @@ TLB::translate(RequestPtr &req, ThreadContext *tc, bool write, bool execute)
         }
         req->setPaddr(regNum * sizeof(MiscReg));
     }
+#endif
     return NoFault;
 };