[PULL] lguest fixes: for lguest-under-kvm and older CPU configs

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

 



The following changes since commit 2ba3abd8186f24c7fb418927025b4e2120e3a362:
  Linus Torvalds (1):
        Merge branch 'pm-fixes' of git://git.kernel.org/.../rafael/suspend-2.6

are available in the git repository at:

  ssh://master.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus.git master

Rusty Russell (2):
      lguest: workaround cmpxchg8b_emu by ignoring cli in the guest.
      lguest: stop using KVM hypercall mechanism

 arch/x86/include/asm/lguest_hcall.h |   29 +++++++++++++---
 arch/x86/lguest/boot.c              |   61 +++++++++++++++++------------------
 arch/x86/lguest/i386_head.S         |    2 +-
 drivers/lguest/lguest_device.c      |    4 +-
 drivers/lguest/x86/core.c           |   12 +++++++
 5 files changed, 68 insertions(+), 40 deletions(-)

commit 5094aeafbbd500509f648e3cd102b053bc7926b3
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date:   Wed Apr 14 21:43:53 2010 -0600

    lguest: workaround cmpxchg8b_emu by ignoring cli in the guest.
    
    It's only used by cmpxchg8b_emu (see db677ffa5f5a 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@xxxxxxxxxxxxxxx>
    Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>
    Cc: virtualization@xxxxxxxxxxxxxx

 drivers/lguest/x86/core.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

commit 091ebf07a2408f9a56634caa0f86d9360e9af23b
Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date:   Wed Apr 14 21:43:54 2010 -0600

    lguest: stop using KVM hypercall mechanism
    
    This is a partial revert of 4cd8b5e2a159 "lguest: use KVM hypercalls";
    we revert to using (just as questionable but more reliable) int $15 for
    hypercalls.  I didn't revert the register mapping, so we still use the
    same calling convention as kvm.
    
    KVM in more recent incarnations stopped injecting a fault when a guest
    tried to use the VMCALL instruction from ring 1, so lguest under kvm
    fails to make hypercalls.  It was nice to share code with our KVM
    cousins, but this was overreach.
    
    Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
    Cc: Matias Zabaljauregui <zabaljauregui@xxxxxxxxx>
    Cc: Avi Kivity <avi@xxxxxxxxxx>

 arch/x86/include/asm/lguest_hcall.h |   29 +++++++++++++---
 arch/x86/lguest/boot.c              |   61 +++++++++++++++++------------------
 arch/x86/lguest/i386_head.S         |    2 +-
 drivers/lguest/lguest_device.c      |    4 +-
 4 files changed, 56 insertions(+), 40 deletions(-)
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization

[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux