Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 8 Dec 2009 16:02:38 +0000 (08:02 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 8 Dec 2009 16:02:38 +0000 (08:02 -0800)
* 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (84 commits)
  KVM: VMX: Fix comparison of guest efer with stale host value
  KVM: s390: Fix prefix register checking in arch/s390/kvm/sigp.c
  KVM: Drop user return notifier when disabling virtualization on a cpu
  KVM: VMX: Disable unrestricted guest when EPT disabled
  KVM: x86 emulator: limit instructions to 15 bytes
  KVM: s390: Make psw available on all exits, not just a subset
  KVM: x86: Add KVM_GET/SET_VCPU_EVENTS
  KVM: VMX: Report unexpected simultaneous exceptions as internal errors
  KVM: Allow internal errors reported to userspace to carry extra data
  KVM: Reorder IOCTLs in main kvm.h
  KVM: x86: Polish exception injection via KVM_SET_GUEST_DEBUG
  KVM: only clear irq_source_id if irqchip is present
  KVM: x86: disallow KVM_{SET,GET}_LAPIC without allocated in-kernel lapic
  KVM: x86: disallow multiple KVM_CREATE_IRQCHIP
  KVM: VMX: Remove vmx->msr_offset_efer
  KVM: MMU: update invlpg handler comment
  KVM: VMX: move CR3/PDPTR update to vmx_set_cr3
  KVM: remove duplicated task_switch check
  KVM: powerpc: Fix BUILD_BUG_ON condition
  KVM: VMX: Use shared msr infrastructure
  ...

Trivial conflicts due to new Kconfig options in arch/Kconfig and kernel/Makefile

1  2 
arch/Kconfig
arch/x86/Kconfig
arch/x86/kernel/process.c
arch/x86/kernel/signal.c
arch/x86/kvm/x86.c
kernel/Makefile
kernel/fork.c

diff --cc arch/Kconfig
index eef3bbb970753c1d840cb9c1520147850dda6800,4e312fffbfd71b4e681d3e8fb3c4e018381622f9..d82875820a15a318134490eeb599802db209c4b7
@@@ -126,11 -133,7 +133,13 @@@ config HAVE_DMA_API_DEBU
  config HAVE_DEFAULT_NO_SPIN_MUTEXES
        bool
  
 +config HAVE_HW_BREAKPOINT
 +      bool
 +      depends on HAVE_PERF_EVENTS
 +      select ANON_INODES
 +      select PERF_EVENTS
 +
+ config HAVE_USER_RETURN_NOTIFIER
+       bool
  
  source "kernel/gcov/Kconfig"
index 178084b4377ccbebb2fb089ea1c17742f9addbfe,8b54096e6d7347c48dfd8a2cf56babcccc0fb11c..1b2182b4d5c81995d402dcd81ba6d3c99c38db2d
@@@ -49,8 -49,8 +49,9 @@@ config X8
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_BZIP2
        select HAVE_KERNEL_LZMA
 +      select HAVE_HW_BREAKPOINT
        select HAVE_ARCH_KMEMCHECK
+       select HAVE_USER_RETURN_NOTIFIER
  
  config OUTPUT_FORMAT
        string
index 744508e7cfdd051e3896fe5ec28d5d3da0f3c16c,e51b056fc88fa97557f7b08430a0a0c197f5d7c0..5e2ba634ea155759cec36d5581ff131ad0784a68
@@@ -9,8 -9,8 +9,9 @@@
  #include <linux/pm.h>
  #include <linux/clockchips.h>
  #include <linux/random.h>
+ #include <linux/user-return-notifier.h>
  #include <trace/events/power.h>
 +#include <linux/hw_breakpoint.h>
  #include <asm/system.h>
  #include <asm/apic.h>
  #include <asm/syscalls.h>
Simple merge
index 4fc80174191ce4b17549b643fe11dee645286c3f,ce677b20bf8652363bf19675739cf28c0c1fb538..9d068966fb2aa491f00152e22ea047e60984f683
@@@ -3642,17 -3918,16 +3919,17 @@@ static int vcpu_enter_guest(struct kvm_
        }
  
        trace_kvm_entry(vcpu->vcpu_id);
-       kvm_x86_ops->run(vcpu, kvm_run);
+       kvm_x86_ops->run(vcpu);
  
 -      if (unlikely(vcpu->arch.switch_db_regs || test_thread_flag(TIF_DEBUG))) {
 -              set_debugreg(current->thread.debugreg0, 0);
 -              set_debugreg(current->thread.debugreg1, 1);
 -              set_debugreg(current->thread.debugreg2, 2);
 -              set_debugreg(current->thread.debugreg3, 3);
 -              set_debugreg(current->thread.debugreg6, 6);
 -              set_debugreg(current->thread.debugreg7, 7);
 -      }
 +      /*
 +       * If the guest has used debug registers, at least dr7
 +       * will be disabled while returning to the host.
 +       * If we don't have active breakpoints in the host, we don't
 +       * care about the messed up debug address registers. But if
 +       * we have some of them active, restore the old state.
 +       */
 +      if (hw_breakpoint_active())
 +              hw_breakpoint_restore();
  
        set_bit(KVM_REQ_KICK, &vcpu->requests);
        local_irq_enable();
diff --cc kernel/Makefile
index 9943202b435599df201cab02b89d0829315a4d2e,6c5112844980152377428edd6ececa111b7d2ec4..864ff75d65f23da5a5556a8883d06f7aa6169ac8
@@@ -98,7 -96,7 +98,8 @@@ obj-$(CONFIG_SMP) += sched_cpupri.
  obj-$(CONFIG_SLOW_WORK) += slow-work.o
  obj-$(CONFIG_SLOW_WORK_DEBUG) += slow-work-debugfs.o
  obj-$(CONFIG_PERF_EVENTS) += perf_event.o
 +obj-$(CONFIG_HAVE_HW_BREAKPOINT) += hw_breakpoint.o
+ obj-$(CONFIG_USER_RETURN_NOTIFIER) += user-return-notifier.o
  
  ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER),y)
  # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is
diff --cc kernel/fork.c
Simple merge