direct-io.hg
changeset 15018:05b5b126eb4c
[HVM] Fix shadow remove-write-access heuristic for 64bit w2k3 linear map.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author | Tim Deegan <Tim.Deegan@xensource.com> |
---|---|
date | Tue May 08 10:32:05 2007 +0100 (2007-05-08) |
parents | 9d0dbe9c4d6b |
children | 03b8e82b4a77 |
files | xen/arch/x86/mm/shadow/common.c |
line diff
1.1 --- a/xen/arch/x86/mm/shadow/common.c Mon May 07 13:58:42 2007 +0100 1.2 +++ b/xen/arch/x86/mm/shadow/common.c Tue May 08 10:32:05 2007 +0100 1.3 @@ -1764,12 +1764,15 @@ int sh_remove_write_access(struct vcpu * 1.4 #if CONFIG_PAGING_LEVELS >= 4 1.5 else if ( v->arch.paging.mode->guest_levels == 4 ) 1.6 { 1.7 - /* 64bit w2k3: linear map at 0x0000070000000000 */ 1.8 + /* 64bit w2k3: linear map at 0xfffff68000000000 */ 1.9 switch ( level ) 1.10 { 1.11 - case 1: GUESS(0x70000000000UL + (fault_addr >> 9), 3); break; 1.12 - case 2: GUESS(0x70380000000UL + (fault_addr >> 18), 3); break; 1.13 - case 3: GUESS(0x70381C00000UL + (fault_addr >> 27), 3); break; 1.14 + case 1: GUESS(0xfffff68000000000UL 1.15 + + ((fault_addr & VADDR_MASK) >> 9), 3); break; 1.16 + case 2: GUESS(0xfffff6fb40000000UL 1.17 + + ((fault_addr & VADDR_MASK) >> 18), 3); break; 1.18 + case 3: GUESS(0xfffff6fb7da00000UL 1.19 + + ((fault_addr & VADDR_MASK) >> 27), 3); break; 1.20 } 1.21 1.22 /* 64bit Linux direct map at 0xffff810000000000; older kernels