x86: Fix HVM hypercall preemption causing guest crash.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
This commit is contained in:
Keir Fraser committed 2008-01-29 11:47:42 +00:00
1 parent 68bd84ba36
commit c8e525b16b
1 file changed
+6 -1
+6 -1
View File
@@ -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) ?
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.