xen/hv_win7_eoi_bug.patch
Charles Arnold eeeeaf88a6 - bnc#636231 - XEN: Unable to disconnect/remove CDROM drive from VM
xend-devid-or-name.patch

- Upstream patches from Jan
  22019-x86-cpuidle-online-check.patch
  22051-x86-forced-EOI.patch
  22067-x86-irq-domain.patch
  22068-vtd-irte-RH-bit.patch
  22071-ept-get-entry-lock.patch
  22084-x86-xsave-off.patch

- bnc#638465 - hypervisor panic in memory handling
  heaplock.patch

- Update to Xen 4.0.1.  This is a bug fix release.

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=73
2010-09-22 14:40:08 +00:00

30 lines
971 B
Diff

Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c
===================================================================
--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/hyperv/hv_intercept.c
+++ xen-4.0.1-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: