diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2014-05-27 13:03:17 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-06-05 16:10:35 +0200 |
commit | eaad03e47206882229d184c83488142cba243917 (patch) | |
tree | 95dd96dc61544ce61716259ef537b0e509f61300 /target-i386/helper.c | |
parent | e2a32ebbfe899a32a6b063f0f9e7c2593267ea88 (diff) |
target-i386: raise page fault for reserved bits in large pages
In large pages, bit 12 is for PAT, but bits starting at 13 are reserved.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target-i386/helper.c')
-rw-r--r-- | target-i386/helper.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target-i386/helper.c b/target-i386/helper.c index a2e8bd1a35..94081e8838 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -695,6 +695,7 @@ int x86_cpu_handle_mmu_fault(CPUState *cs, vaddr addr, } do_check_protect: + rsvd_mask |= (page_size - 1) & PG_ADDRESS_MASK & ~PG_PSE_PAT_MASK; if (pte & rsvd_mask) { goto do_fault_rsvd; } |