|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [HVM] Fix shadow remove-write-access heur
# 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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [HVM] Fix shadow remove-write-access heuristic for 64bit w2k3 linear map.,
Xen patchbot-unstable <=
|
|
|
|
|