Commit 6a38e0dc authored by Anthony Liguori's avatar Anthony Liguori
Browse files

Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

* qemu-kvm/uq/master:
  kvm: i386: Add classic PCI device assignment
  kvm: i386: Add services required for PCI device assignment
  kvm: Introduce kvm_has_intx_set_mask
  kvm: Introduce kvm_irqchip_update_msi_route
  kvm: Clean up irqfd API
  qemu: Use valgrind annotations to mark kvm guest memory as defined
parents 14df77a6 c3ebd3ba
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2971,11 +2971,12 @@ if compile_prog "-Werror" "" ; then
fi

########################################
# check if we have valgrind/valgrind.h
# check if we have valgrind/valgrind.h and valgrind/memcheck.h

valgrind_h=no
cat > $TMPC << EOF
#include <valgrind/valgrind.h>
#include <valgrind/memcheck.h>
int main(void) {
  return 0;
}
+1 −1
Original line number Diff line number Diff line
obj-$(CONFIG_KVM) += clock.o apic.o i8259.o ioapic.o i8254.o
obj-$(CONFIG_KVM) += clock.o apic.o i8259.o ioapic.o i8254.o pci-assign.o

hw/kvm/pci-assign.c

0 → 100644
+1915 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ static const QDevAlias qdev_alias_table[] = {
    { "virtio-serial-s390", "virtio-serial", QEMU_ARCH_S390X },
    { "lsi53c895a", "lsi" },
    { "ich9-ahci", "ahci" },
    { "kvm-pci-assign", "pci-assign" },
    { }
};

+2 −2
Original line number Diff line number Diff line
@@ -517,7 +517,7 @@ static int kvm_virtio_pci_vq_vector_use(VirtIOPCIProxy *proxy,
    }
    irqfd->users++;

    ret = kvm_irqchip_add_irq_notifier(kvm_state, n, irqfd->virq);
    ret = kvm_irqchip_add_irqfd_notifier(kvm_state, n, irqfd->virq);
    if (ret < 0) {
        if (--irqfd->users == 0) {
            kvm_irqchip_release_virq(kvm_state, irqfd->virq);
@@ -538,7 +538,7 @@ static void kvm_virtio_pci_vq_vector_release(VirtIOPCIProxy *proxy,
    VirtIOIRQFD *irqfd = &proxy->vector_irqfd[vector];
    int ret;

    ret = kvm_irqchip_remove_irq_notifier(kvm_state, n, irqfd->virq);
    ret = kvm_irqchip_remove_irqfd_notifier(kvm_state, n, irqfd->virq);
    assert(ret == 0);

    if (--irqfd->users == 0) {
Loading