summaryrefslogtreecommitdiff
path: root/src/arch/x86/pagetable_walker.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-02-23 00:20:34 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-02-23 00:20:34 -0800
commite8c1c3e72eb01409f7ec110eee3b32c07347bf6f (patch)
tree26f23b24fdfdfff630cda342e94d055437f9d5f8 /src/arch/x86/pagetable_walker.hh
parent6c5afe6346b31edf6af245002c270a3c26618833 (diff)
downloadgem5-e8c1c3e72eb01409f7ec110eee3b32c07347bf6f.tar.xz
X86: Pass whether an access was a read/write/fetch so faults can behave accordingly.
Diffstat (limited to 'src/arch/x86/pagetable_walker.hh')
-rw-r--r--src/arch/x86/pagetable_walker.hh5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/x86/pagetable_walker.hh b/src/arch/x86/pagetable_walker.hh
index 324f16f3c..de3f21195 100644
--- a/src/arch/x86/pagetable_walker.hh
+++ b/src/arch/x86/pagetable_walker.hh
@@ -95,7 +95,7 @@ namespace X86ISA
void doNext(PacketPtr &read, PacketPtr &write);
// Kick off the state machine.
- void start(ThreadContext * _tc, Addr vaddr);
+ void start(ThreadContext * _tc, Addr vaddr, bool write, bool execute);
protected:
@@ -165,7 +165,10 @@ namespace X86ISA
State nextState;
int size;
bool enableNX;
+ bool write, execute;
TlbEntry entry;
+
+ Fault pageFault(bool present);
public: