]> git.baikalelectronics.ru Git - kernel.git/commit
lguest: workaround cmpxchg8b_emu by ignoring cli in the guest.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 15 Apr 2010 03:43:53 +0000 (21:43 -0600)
committerRusty Russell <rusty@rustcorp.com.au>
Wed, 14 Apr 2010 12:13:54 +0000 (21:43 +0930)
commitb50b2b4747911fbd6cf1003ac67c24611210bcaa
tree8effa3dcde7c1b34ced9f09c7964acbcd8eb49f1
parent405ccabe4cfdfe5163ee1ebbef5d00c3adca624c
lguest: workaround cmpxchg8b_emu by ignoring cli in the guest.

It's only used by cmpxchg8b_emu (see bc10afd39796 for the gory
details), and fixing that to be paravirt aware would be more work than
simply ignoring it (and AFAICT only help lguest).  This makes lguest
work on machines which have cmpxchg8b, for kernels compiled for older
processors.

(We can't emulate it properly: the popf which expects to restore interrupts
does not trap).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: virtualization@lists.osdl.org
drivers/lguest/x86/core.c