[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [HVM] Fix shadow remove-write-access heuristic for 64bit w2k3 linear map.
# HG changeset patch # User Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx> # Date 1178616725 -3600 # Node ID 05b5b126eb4c3b0d9b6739f62e8489d57e19a1ef # Parent 9d0dbe9c4d6bd217d4f23310d7ae87ca853f880d [HVM] Fix shadow remove-write-access heuristic for 64bit w2k3 linear map. Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx> --- xen/arch/x86/mm/shadow/common.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) diff -r 9d0dbe9c4d6b -r 05b5b126eb4c xen/arch/x86/mm/shadow/common.c --- a/xen/arch/x86/mm/shadow/common.c Mon May 07 13:58:42 2007 +0100 +++ b/xen/arch/x86/mm/shadow/common.c Tue May 08 10:32:05 2007 +0100 @@ -1764,12 +1764,15 @@ int sh_remove_write_access(struct vcpu * #if CONFIG_PAGING_LEVELS >= 4 else if ( v->arch.paging.mode->guest_levels == 4 ) { - /* 64bit w2k3: linear map at 0x0000070000000000 */ + /* 64bit w2k3: linear map at 0xfffff68000000000 */ switch ( level ) { - case 1: GUESS(0x70000000000UL + (fault_addr >> 9), 3); break; - case 2: GUESS(0x70380000000UL + (fault_addr >> 18), 3); break; - case 3: GUESS(0x70381C00000UL + (fault_addr >> 27), 3); break; + case 1: GUESS(0xfffff68000000000UL + + ((fault_addr & VADDR_MASK) >> 9), 3); break; + case 2: GUESS(0xfffff6fb40000000UL + + ((fault_addr & VADDR_MASK) >> 18), 3); break; + case 3: GUESS(0xfffff6fb7da00000UL + + ((fault_addr & VADDR_MASK) >> 27), 3); break; } /* 64bit Linux direct map at 0xffff810000000000; older kernels _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |