diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-11-12 14:38:31 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-11-12 14:38:31 -0800 |
commit | fce45baf178b43c2ea1476967fba3766e9b2ea9d (patch) | |
tree | 1aa3ba357950f9a18e2d7a7e6fd4be8c8d0e5d91 /src/arch/x86/pagetable.hh | |
parent | f17f3d20be08d25f176138691a29897df54e5cc0 (diff) | |
download | gem5-fce45baf178b43c2ea1476967fba3766e9b2ea9d.tar.xz |
X86: Work on the page table walker, TLB, and related faults.
--HG--
extra : convert_revision : 9edde958b7e571c07072785f18f9109f73b8059f
Diffstat (limited to 'src/arch/x86/pagetable.hh')
-rw-r--r-- | src/arch/x86/pagetable.hh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/arch/x86/pagetable.hh b/src/arch/x86/pagetable.hh index cc614168c..e42693c03 100644 --- a/src/arch/x86/pagetable.hh +++ b/src/arch/x86/pagetable.hh @@ -62,16 +62,26 @@ #include <string> #include "sim/host.hh" +#include "base/bitunion.hh" #include "base/misc.hh" class Checkpoint; namespace X86ISA { - struct VAddr - { - VAddr(Addr a) { panic("not implemented yet."); } - }; + BitUnion64(VAddr) + Bitfield<20, 12> longl1; + Bitfield<29, 21> longl2; + Bitfield<38, 30> longl3; + Bitfield<47, 39> longl4; + + Bitfield<20, 12> pael1; + Bitfield<29, 21> pael2; + Bitfield<31, 30> pael3; + + Bitfield<21, 12> norml1; + Bitfield<31, 22> norml2; + EndBitUnion(VAddr) struct TlbEntry { |