WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [HVM][SVM][PATCH][1/2] VINTR intercept signal
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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
screen:
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 
interrupt.

Patch 2/2 -
Add flag to indicate that an exception event needs injecting, and to
delay
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>
 
  --Tom

Attachment: svm_vintr.patch
Description: svm_vintr.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [HVM][SVM][PATCH][1/2] VINTR intercept signal, Woller, Thomas <=