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

[Xen-devel] [HVM][SVM][PATCH][1/2] VINTR intercept signal

  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Woller, Thomas" <thomas.woller@xxxxxxx>
  • Date: Thu, 19 Oct 2006 17:03:26 -0500
  • Delivery-date: Thu, 19 Oct 2006 15:03:59 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcbzymcNkmHt+kYeRsua95uRzn64FQ==
  • Thread-topic: [HVM][SVM][PATCH][1/2] VINTR intercept signal

These two patches affect the interrupt injection logic for AMD-V (only).
These patches fix issues with Windows HVM guests during boot menu
1) the timer countdown is no longer very slow
2) kbd response is now no longer slow or non-existent

We have also seen an occasional "dma lost interrupt"/expiry errors, and
these patches seem to help with these, especially with SUSE10 HVM guests
with ACPI enabled in the guest configuration.

These patches have been tested on 3.0.3 and xen-unstable base with
32bit, 32bit pae and 64bit hypervisors with various HVM guests. 

Patch 1/2 - 
This patch uses the VINTR intercept to signal the hypervisor when a
guest can take an interrupt.  When guest's interrupts are masked by
EFLAGS.IF or the guests are in an interrupt shadow, we create a 'fake'
virtual interrupt to inject while also enabling the VINTR intercept.
When the guest _can_ take interrupts, the hypervisor will #VMEXIT on 
VINTR.  The VINTR exit handler then clears the VINTR intercept bit and 
clears the V_IRQ bit so that svm_intr_assist() can inject a legitimate 

Patch 2/2 -
Add flag to indicate that an exception event needs injecting, and to
the ext interrupt injection.
Remove unnecessary check of RFLAGS.IF for ExtInt injection.

These apply cleanly to xen-unstable c/s 11831.
Please apply to xen-unstable.hg.

We would also want these patches to be in a 3.0.3-1 base whenever that
is branched.

Signed-off-by: Travis Betak <travis.betak@xxxxxxx>
Signed-off-by: Wei Huang <wei.huang2@xxxxxxx>
Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>

Attachment: svm_vintr.patch
Description: svm_vintr.patch

Xen-devel mailing list



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