diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-10-25 19:04:44 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-10-25 19:04:44 -0700 |
commit | fddfa71658a35f91c249ce0b7b67984d979a4fb4 (patch) | |
tree | 2502a148cc3da2e0ebb53bdf9027a4b5a427423e /src/arch/x86/pagetable.hh | |
parent | 0711f4f17a4b4ac61b07cbe742f0d193f919ea8f (diff) | |
download | gem5-fddfa71658a35f91c249ce0b7b67984d979a4fb4.tar.xz |
TLB: Fix serialization issues with the tlb entries and make the page table store the process, not the system.
--HG--
extra : convert_revision : 2421af11f62f60fb48faeee6bddadac2987df0e8
Diffstat (limited to 'src/arch/x86/pagetable.hh')
-rw-r--r-- | src/arch/x86/pagetable.hh | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/arch/x86/pagetable.hh b/src/arch/x86/pagetable.hh index aaf82ed70..cc614168c 100644 --- a/src/arch/x86/pagetable.hh +++ b/src/arch/x86/pagetable.hh @@ -76,10 +76,16 @@ namespace X86ISA struct TlbEntry { // The base of the physical page. - Addr pageStart; + Addr paddr; + + // The beginning of the virtual page this entry maps. + Addr vaddr; + // The size of the page this entry represents. + Addr size; + // Read permission is always available, assuming it isn't blocked by // other mechanisms. - bool writeable; + bool writable; // Whether this page is accesible without being in supervisor mode. bool user; // Whether to use write through or write back. M5 ignores this and @@ -94,13 +100,13 @@ namespace X86ISA // Whether or not memory on this page can be executed. bool noExec; - // The beginning of the virtual page this entry maps. - Addr vaddr; - // The size of the page this entry represents. - Addr size; - + TlbEntry(Addr asn, Addr _vaddr, Addr _paddr); TlbEntry() {} - TlbEntry(Addr paddr) : pageStart(paddr) {} + + Addr pageStart() + { + return paddr; + } void serialize(std::ostream &os); void unserialize(Checkpoint *cp, const std::string §ion); |