History

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull kvm fixes from Paolo Bonzini: "PPC: - Hide KVM_CAP_IRQFD_RESAMPLE if XIVE is enabled s390: - Fix handling of external interrupts in protected guests x86: - Resample the pending state of IOAPIC interrupts when unmasking them - Fix usage of Hyper-V "enlightened TLB" on AMD - Small fixes to real mode exceptions - Suppress pending MMIO write exits if emulator detects exception Documentation: - Fix rST syntax" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: docs: kvm: x86: Fix broken field list KVM: PPC: Make KVM_CAP_IRQFD_RESAMPLE platform dependent KVM: s390: pv: fix external interruption loop not always detected KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection KVM: x86: Suppress pending MMIO write exits if emulator detects exception KVM: x86/ioapic: Resample the pending state of an IRQ when unmasking KVM: irqfd: Make resampler_list an RCU list KVM: SVM: Flush Hyper-V TLB when required

Linus Torvalds committed 3 years ago

Commit 76f598b2 parents ceeea1b fb5015b15 files · +192 −29Browse files

Showing the changes to include/linux (2 of 15 files). Show all

Unified · Split

2 files
  1. include/linux/kvm_host.h +11 −0
  2. include/linux/kvm_irqfd.h +1 −1
include/linux/kvm_host.h+11−0
@@ -755,6 +755,7 @@ struct kvm { · 754 unmodified lines
755755 struct {
756756 spinlock_t lock;
757757 struct list_head items;
758+ /* resampler_list update side is protected by resampler_lock. */
758759 struct list_head resampler_list;
759760 struct mutex resampler_lock;
760761 } irqfds;
@@ -1986,6 +1987,9 @@ int kvm_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args); · 1225 unmodified lines
19861987 #ifdef CONFIG_HAVE_KVM_IRQFD
19871988 int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args);
19881989 void kvm_irqfd_release(struct kvm *kvm);
1990+bool kvm_notify_irqfd_resampler(struct kvm *kvm,
1991+ unsigned int irqchip,
1992+ unsigned int pin);
19891993 void kvm_irq_routing_update(struct kvm *);
19901994 #else
19911995 static inline int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args)
@@ -1994,6 +1998,13 @@ static inline int kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args) · 2 unmodified lines
19941998 }
19951999
19962000 static inline void kvm_irqfd_release(struct kvm *kvm) {}
2001+
2002+static inline bool kvm_notify_irqfd_resampler(struct kvm *kvm,
2003+ unsigned int irqchip,
2004+ unsigned int pin)
2005+{
2006+ return false;
2007+}
19972008 #endif
19982009
19992010 #else
include/linux/kvm_irqfd.h+1−1
@@ -31,7 +31,7 @@ struct kvm_kernel_irqfd_resampler { · 30 unmodified lines
3131 /*
3232 * Entry in list of kvm->irqfd.resampler_list. Use for sharing
3333 * resamplers among irqfds on the same gsi.
34− * Accessed and modified under kvm->irqfds.resampler_lock
34+ * RCU list modified under kvm->irqfds.resampler_lock
3535 */
3636 struct list_head link;
3737 };

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t