Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec0afc93 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm

* 'kvm-updates/2.6.39' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (55 commits)
  KVM: unbreak userspace that does not sets tss address
  KVM: MMU: cleanup pte write path
  KVM: MMU: introduce a common function to get no-dirty-logged slot
  KVM: fix rcu usage in init_rmode_* functions
  KVM: fix kvmclock regression due to missing clock update
  KVM: emulator: Fix permission checking in io permission bitmap
  KVM: emulator: Fix io permission checking for 64bit guest
  KVM: SVM: Load %gs earlier if CONFIG_X86_32_LAZY_GS=n
  KVM: x86: Remove useless regs_page pointer from kvm_lapic
  KVM: improve comment on rcu use in irqfd_deassign
  KVM: MMU: remove unused macros
  KVM: MMU: cleanup page alloc and free
  KVM: MMU: do not record gfn in kvm_mmu_pte_write
  KVM: MMU: move mmu pages calculated out of mmu lock
  KVM: MMU: set spte accessed bit properly
  KVM: MMU: fix kvm_mmu_slot_remove_write_access dropping intermediate W bits
  KVM: Start lock documentation
  KVM: better readability of efer_reserved_bits
  KVM: Clear async page fault hash after switching to real mode
  KVM: VMX: Initialize vm86 TSS only once.
  ...
parents 804f1853 776e58ea
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
KVM Lock Overview
=================

1. Acquisition Orders
---------------------

(to be written)

2. Reference
------------

Name:		kvm_lock
Type:		raw_spinlock
Arch:		any
Protects:	- vm_list
		- hardware virtualization enable/disable
Comment:	'raw' because hardware enabling/disabling must be atomic /wrt
		migration.

Name:		kvm_arch::tsc_write_lock
Type:		raw_spinlock
Arch:		x86
Protects:	- kvm_arch::{last_tsc_write,last_tsc_nsec,last_tsc_offset}
		- tsc offset in vmcb
Comment:	'raw' because updating the tsc offsets must not be preempted.
+2 −0
Original line number Diff line number Diff line
@@ -122,4 +122,6 @@

#define	ERFKILL		138	/* Operation not possible due to RF-kill */

#define EHWPOISON	139	/* Memory page has hardware error */

#endif
+2 −0
Original line number Diff line number Diff line
@@ -662,6 +662,7 @@ again:
		goto vcpu_run_fail;

	srcu_read_unlock(&vcpu->kvm->srcu, idx);
	vcpu->mode = IN_GUEST_MODE;
	kvm_guest_enter();

	/*
@@ -683,6 +684,7 @@ again:
	 */
	barrier();
	kvm_guest_exit();
	vcpu->mode = OUTSIDE_GUEST_MODE;
	preempt_enable();

	idx = srcu_read_lock(&vcpu->kvm->srcu);
+2 −0
Original line number Diff line number Diff line
@@ -121,6 +121,8 @@

#define	ERFKILL		167	/* Operation not possible due to RF-kill */

#define EHWPOISON	168	/* Memory page has hardware error */

#define EDQUOT		1133	/* Quota exceeded */

#ifdef __KERNEL__
+2 −0
Original line number Diff line number Diff line
@@ -122,4 +122,6 @@

#define	ERFKILL		256	/* Operation not possible due to RF-kill */

#define EHWPOISON	257	/* Memory page has hardware error */

#endif
Loading