summaryrefslogtreecommitdiff
path: root/src/arch/x86/system.hh
diff options
context:
space:
mode:
authorAlexandru <alexandru.dutu@amd.com>2014-08-28 10:11:44 -0500
committerAlexandru <alexandru.dutu@amd.com>2014-08-28 10:11:44 -0500
commit5efbb4442a0e8c653539e263bf87c48849280e23 (patch)
treeda6807c806ebb1f658692c5bf823156831134c9f /src/arch/x86/system.hh
parent26ac28dec288e4fd96d999267ec7cafad4d58c5a (diff)
downloadgem5-5efbb4442a0e8c653539e263bf87c48849280e23.tar.xz
mem: adding architectural page table support for SE mode
This patch enables the use of page tables that are stored in system memory and respect x86 specification, in SE mode. It defines an architectural page table for x86 as a MultiLevelPageTable class and puts a placeholder class for other ISAs page tables, giving the possibility for future implementation.
Diffstat (limited to 'src/arch/x86/system.hh')
-rw-r--r--src/arch/x86/system.hh14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/arch/x86/system.hh b/src/arch/x86/system.hh
index 998a69cd7..e8dd2f8b3 100644
--- a/src/arch/x86/system.hh
+++ b/src/arch/x86/system.hh
@@ -61,6 +61,20 @@ namespace X86ISA
class FloatingPointer;
class ConfigTable;
}
+
+ /* memory mappings for KVMCpu in SE mode */
+ const uint64_t syscallCodeVirtAddr = 0xffff800000000000;
+ const uint64_t syscallCodePhysAddr = 0x60000;
+ const uint64_t GDTVirtAddr = 0xffff800000001000;
+ const uint64_t GDTPhysAddr = 0x61000;
+ const uint64_t IDTVirtAddr = 0xffff800000002000;
+ const uint64_t IDTPhysAddr = 0x62000;
+ const uint64_t TSSVirtAddr = 0xffff800000003000;
+ const uint64_t TSSPhysAddr = 0x63000;
+ const uint64_t ISTVirtAddr = 0xffff800000004000;
+ const uint64_t ISTPhysAddr = 0x64000;
+
+ const uint64_t pageTablePhysAddr = 0x70000;
}
class X86System : public System