diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-02-23 00:20:34 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-02-23 00:20:34 -0800 |
commit | e8c1c3e72eb01409f7ec110eee3b32c07347bf6f (patch) | |
tree | 26f23b24fdfdfff630cda342e94d055437f9d5f8 /src/arch/x86/pagetable_walker.cc | |
parent | 6c5afe6346b31edf6af245002c270a3c26618833 (diff) | |
download | gem5-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.cc')
-rw-r--r-- | src/arch/x86/pagetable_walker.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/x86/pagetable_walker.cc b/src/arch/x86/pagetable_walker.cc index 564a04b38..b0b9209b5 100644 --- a/src/arch/x86/pagetable_walker.cc +++ b/src/arch/x86/pagetable_walker.cc @@ -319,11 +319,13 @@ Walker::doNext(PacketPtr &read, PacketPtr &write) } void -Walker::start(ThreadContext * _tc, Addr vaddr) +Walker::start(ThreadContext * _tc, Addr vaddr, bool _write, bool _execute) { assert(state == Ready); assert(!tc); tc = _tc; + execute = _execute; + write = _write; VAddr addr = vaddr; |