mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86: Fix HVM hypercall preemption causing guest crash.
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
This commit is contained in:
1 parent
68bd84ba36
commit
c8e525b16b
1 file changed
+6
-1
@@ -1506,7 +1506,12 @@ unsigned long hypercall_create_continuation(
|
||||
{
|
||||
regs = guest_cpu_user_regs();
|
||||
regs->eax = op;
|
||||
regs->eip -= 2; /* re-execute 'syscall' / 'int 0x82' */
|
||||
/*
|
||||
* For PV guest, we update EIP to re-execute 'syscall' / 'int 0x82';
|
||||
* HVM does not need this since 'vmcall' / 'vmmcall' is fault-like.
|
||||
*/
|
||||
if ( !is_hvm_vcpu(current) )
|
||||
regs->eip -= 2; /* re-execute 'syscall' / 'int 0x82' */
|
||||
|
||||
#ifdef __x86_64__
|
||||
if ( !is_hvm_vcpu(current) ?
|
||||
|
||||