Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c =================================================================== --- xen-4.0.0-testing.orig/xen/arch/x86/hvm/hyperv/hv_intercept.c +++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c @@ -33,6 +33,7 @@ #include <asm/config.h> #include <asm/hvm/io.h> +#include <asm/hvm/support.h> #include <asm/processor.h> #include <asm/page.h> #include <asm/apicdef.h> @@ -988,8 +989,15 @@ hyperv_do_wr_msr(uint32_t idx, struct cp break; case HV_MSR_APIC_ASSIST_PAGE: /* - * For now ignore this. + * We don't support the APIC assist page; windows7 appears to + * use this; set it up so that os uses the APIC MSR to indicate EOI. */ + if (msr_content & 0x1) { + uint32_t data = 0; + paddr_t assist_page = msr_content & ~1UL; + (void)hvm_copy_to_guest_phys(assist_page, &data, sizeof(data)); + } + break; default: