[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 2/9] kvm: remove hard dependency on pci
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v5 2/9] kvm: remove hard dependency on pci |
Date: |
Thu, 24 Aug 2017 03:13:46 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
On 23.08.2017 17:54, Cornelia Huck wrote:
> The msi routing code in kvm calls some pci functions: provide
> some stubs to enable builds without pci.
>
> Also, to make this more obvious, guard them via a pci_available boolean
> (which also can be reused in other places).
>
> Fixes: e1d4fb2de ("kvm-irqchip: x86: add msi route notify fn")
> Fixes: 767a554a0 ("kvm-all: Pass requester ID to MSI routing functions")
> Reviewed-by: Pierre Morel <address@hidden>
> Signed-off-by: Cornelia Huck <address@hidden>
> ---
> accel/kvm/kvm-all.c | 6 +++---
> hw/pci/pci-stub.c | 16 +++++++++++++++-
> hw/pci/pci.c | 2 ++
> include/hw/pci/pci.h | 2 ++
> 4 files changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index 46ce479dc3..f85553a851 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -1248,7 +1248,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector,
> PCIDevice *dev)
> int virq;
> MSIMessage msg = {0, 0};
>
> - if (dev) {
> + if (pci_available && dev) {
> msg = pci_get_msi_message(dev, vector);
> }
>
> @@ -1271,7 +1271,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector,
> PCIDevice *dev)
> kroute.u.msi.address_lo = (uint32_t)msg.address;
> kroute.u.msi.address_hi = msg.address >> 32;
> kroute.u.msi.data = le32_to_cpu(msg.data);
> - if (kvm_msi_devid_required()) {
> + if (pci_available && kvm_msi_devid_required()) {
> kroute.flags = KVM_MSI_VALID_DEVID;
> kroute.u.msi.devid = pci_requester_id(dev);
> }
> @@ -1309,7 +1309,7 @@ int kvm_irqchip_update_msi_route(KVMState *s, int virq,
> MSIMessage msg,
> kroute.u.msi.address_lo = (uint32_t)msg.address;
> kroute.u.msi.address_hi = msg.address >> 32;
> kroute.u.msi.data = le32_to_cpu(msg.data);
> - if (kvm_msi_devid_required()) {
> + if (pci_available && kvm_msi_devid_required()) {
> kroute.flags = KVM_MSI_VALID_DEVID;
> kroute.u.msi.devid = pci_requester_id(dev);
> }
> diff --git a/hw/pci/pci-stub.c b/hw/pci/pci-stub.c
> index ecad664946..2d3b32c6ab 100644
> --- a/hw/pci/pci-stub.c
> +++ b/hw/pci/pci-stub.c
> @@ -23,10 +23,11 @@
> #include "monitor/monitor.h"
> #include "qapi/qmp/qerror.h"
> #include "hw/pci/pci.h"
> -#include "qmp-commands.h"
> #include "hw/pci/msi.h"
> +#include "qmp-commands.h"
Nit: Unnecessary movement of the #include statement.
If you fix that:
Reviewed-by: Thomas Huth <address@hidden>
[Qemu-devel] [PATCH v5 4/9] s390x: chsc nt2 events are pci-only, Cornelia Huck, 2017/08/23
[Qemu-devel] [PATCH v5 5/9] s390x/pci: do not advertise pci on non-pci builds, Cornelia Huck, 2017/08/23
[Qemu-devel] [PATCH v5 6/9] s390x/ccw: create s390 phb conditionally, Cornelia Huck, 2017/08/23