[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-3.1-testing] [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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.