]> xenbits.xensource.com Git - xen.git/commit
vmx: fix save/restore issue with apicv
authorYang Zhang <yang.z.zhang@Intel.com>
Thu, 13 Nov 2014 08:53:36 +0000 (09:53 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 13 Nov 2014 08:53:36 +0000 (09:53 +0100)
commit2b95a6a2005d653a8677d1733a8909997bbc6fc6
treed62fc3da6471dacd95624ea7f89b68d3b851acb3
parentfccb5892c8fc3c191592fb933a0e044260f4f069
vmx: fix save/restore issue with apicv

This patch fixes two issues:

1. Interrupts on PIR are lost during save/restore. Syncing the PIR
into IRR during save will fix it.

2. EOI exit bitmap doesn't set up correctly after restore. Here we
will construct the eoi exit bitmap via (IRR | ISR). Though it may cause
unnecessary eoi exit of the interrupts that pending in IRR or ISR during
save/restore, each pending interrupt only causes one vmexit. The
subsequent interrupts will adjust the eoi exit bitmap correctly. So
the performance hurt can be ignored.

Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: 607e8494c42397fb249191904066cace6ac9a880
master date: 2014-10-27 16:40:18 +0100
xen/arch/x86/hvm/vlapic.c
xen/arch/x86/hvm/vmx/vmx.c
xen/include/asm-x86/hvm/vlapic.h
xen/include/asm-x86/hvm/vmx/vmcs.h