[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix Vista screen clear on AMD
Patch to fix horribly slow screen clear during Vista 32 installation on AMD. Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxx> Signed-off-by: Gary Grebus <ggrebus@xxxxxxxxxxxxxxx> diff -r 64544443e6d6 xen/arch/x86/mm/shadow/common.c --- a/xen/arch/x86/mm/shadow/common.c Wed Oct 10 11:10:36 2007 -0400 +++ b/xen/arch/x86/mm/shadow/common.c Wed Oct 10 12:50:46 2007 -0400 @@ -36,6 +36,7 @@ #include <asm/current.h> #include <asm/flushtlb.h> #include <asm/shadow.h> +#include <asm/paging.h> #include "private.h" @@ -2725,17 +2726,18 @@ shadow_write_p2m_entry(struct vcpu *v, u safe_write_pte(p, new); /* install P2M in monitors for PAE Xen */ -#if CONFIG_PAGING_LEVELS == 3 +#if CONFIG_PAGING_LEVELS >= 3 if ( level == 3 ) { struct vcpu *v; +#if CONFIG_PAGING_LEVELS == 3 /* We have written to the p2m l3: need to sync the per-vcpu * copies of it in the monitor tables */ p2m_install_entry_in_monitors(d, (l3_pgentry_t *)p); +#endif /* Also, any vcpus running on shadows of the p2m need to * reload their CR3s so the change propagates to the shadow */ for_each_vcpu(d, v) { - if ( pagetable_get_pfn(v->arch.guest_table) - == pagetable_get_pfn(d->arch.phys_table) + if ( likely(!paging_mode_translate(d)) && v->arch.paging.mode != NULL ) v->arch.paging.mode->update_cr3(v, 0); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |