--- old/xen/arch/x86/mm/shadow/common.c Tue May 20 00:29:37 2008 +++ new/xen/arch/x86/mm/shadow/common.c Tue May 20 00:29:35 2008 @@ -1820,6 +1820,11 @@ gfn = mfn_to_gfn(v->domain, gmfn); GUESS(0xffff810000000000UL + (gfn << PAGE_SHIFT), 4); GUESS(0x0000010000000000UL + (gfn << PAGE_SHIFT), 4); + /* + * 64bit Solaris kernel page map at + * kpm_vbase; 0xfffffe0000000000UL + */ + GUESS(0xfffffe0000000000UL + (gfn << PAGE_SHIFT), 4); } #endif /* CONFIG_PAGING_LEVELS >= 4 */ #endif /* CONFIG_PAGING_LEVELS >= 3 */ --- old/xen/arch/x86/mm/shadow/multi.c Tue May 20 00:29:39 2008 +++ new/xen/arch/x86/mm/shadow/multi.c Tue May 20 00:29:38 2008 @@ -3821,7 +3821,9 @@ shadow_l1e_t *sl1e; int done = 0; int flags; +#if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC mfn_t base_sl1mfn = sl1mfn; /* Because sl1mfn changes in the foreach */ +#endif SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done, {