Commit a23a663b6555497b1569e407cc8edff09787decb
1 parent
99c6c082
Fix PHYS_ADDR_MASK: upper bits of a PTE are reserved so they are 52 bits
long. Thanks to Paul Brook for noticing that. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4242 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
2 additions
and
1 deletions
target-i386/helper2.c
@@ -800,7 +800,8 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | @@ -800,7 +800,8 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) | ||
800 | 800 | ||
801 | #else | 801 | #else |
802 | 802 | ||
803 | -#define PHYS_ADDR_MASK (~0xfff) | 803 | +/* Bits 52-62 of a PTE are reserved. Bit 63 is the NX bit. */ |
804 | +#define PHYS_ADDR_MASK 0xffffffffff000L | ||
804 | 805 | ||
805 | /* return value: | 806 | /* return value: |
806 | -1 = cannot handle fault | 807 | -1 = cannot handle fault |