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

[Xen-devel] [SVM][PATCH] APIC race fix


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Woller, Thomas" <thomas.woller@xxxxxxx>
  • Date: Tue, 7 Nov 2006 10:48:04 -0600
  • Delivery-date: Tue, 07 Nov 2006 08:48:34 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AccCjH5rtMZjEpeCQ42ZUQVhRFOULA==
  • Thread-topic: [SVM][PATCH] APIC race fix

This patch fixes an interrupt race window in the do_launch/vmrun/vmexit
loop for AMD-V.
There should not be any interrupt enablement from the "cli" until the
vmrun, there are 2 modifications to the code in the SVM exits.S files
(32b/64b):
1) the sti/CLGI instruction sequence has been modified to place the sti
after the CLGI
2) the sti have been removed from the code sequence after the initial
"cli"
So, the sequence is basically:
        cli
        interrupt assist code
        ...
        CLGI
        sti
        vmrun -> ucode performs the STGI to enable global interrupts
when ready

There is also some comment cleanup in this patch.

This problem found by Virtual Iron (Dave Winchell), and patch also
provided by VI.

Applies cleanly to xen-unstable c/s 12273.
Please apply to xen-unstable.hg.

Signed-off-by: Tom Woller <thomas.woller@xxxxxxx>
Signed-off-by: Dave Winchell <dwinchell@xxxxxxxxxxxxxxx>

Thanks
 
  --Tom


Attachment: svm_dolaunch_interrupt_race_window.patch
Description: svm_dolaunch_interrupt_race_window.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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