diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-03-01 00:05:12 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-03-01 00:05:12 -0500 |
commit | 66aaabf4ae05508ea8fa223c84b7a78aa754c7f9 (patch) | |
tree | 9b56ef3e9852df43e407a808f08613c9edc9a11a | |
parent | 65332ef3a9df48f7ff11b417b0ffc4a171824931 (diff) | |
download | gem5-66aaabf4ae05508ea8fa223c84b7a78aa754c7f9.tar.xz |
X86: Don't map the local APIC into the physical address space in SE mode.
--HG--
extra : convert_revision : b7103974b12130bbf43583c4cb5294b808add208
-rw-r--r-- | src/arch/x86/tlb.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/x86/tlb.cc b/src/arch/x86/tlb.cc index a87abf212..3e720c9ae 100644 --- a/src/arch/x86/tlb.cc +++ b/src/arch/x86/tlb.cc @@ -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; }; |