[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] KVM: Fix compiles when KVM_CAP_IRQ_ROUTING is n
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH] KVM: Fix compiles when KVM_CAP_IRQ_ROUTING is not defined |
Date: |
Tue, 05 Jun 2012 20:15:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2012-06-05 20:08, Ben Collins wrote:
> Things like kroute and direct_msi were not protected by ifdef's for when
> this feature is not enabled. Also, virtio-pci was referencing
> kvm_irqchip_release_virq() which was not defined without KVM_CAP_IRQ_ROUTING
> but when KVM was enabled.
There is [1] already which I prefer for the first two issues. Would you
like to adjust your patch, or should I adopt the
kvm_irqchip_release_virq fix?
Thanks,
Jan
[1] http://thread.gmane.org/gmane.comp.emulators.qemu/153940
>
> Signed-off-by: Ben Collins <address@hidden>
> Cc: Avi Kivity <address@hidden>
> Cc: Marcelo Tosatti <address@hidden>
> ---
> kvm-all.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/kvm-all.c b/kvm-all.c
> index 489ee53..b0f6e06 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -63,7 +63,9 @@ typedef struct KVMSlot
> typedef struct kvm_dirty_log KVMDirtyLog;
>
> typedef struct KVMMSIRoute {
> +#ifdef KVM_CAP_IRQ_ROUTING
> struct kvm_irq_routing_entry kroute;
> +#endif
> QTAILQ_ENTRY(KVMMSIRoute) entry;
> } KVMMSIRoute;
>
> @@ -1143,6 +1145,10 @@ static int kvm_irqchip_assign_irqfd(KVMState *s, int
> fd, int virq, bool assign)
> {
> abort();
> }
> +
> +void kvm_irqchip_release_virq(KVMState *s, int virq)
> +{
> +}
> #endif /* !KVM_CAP_IRQ_ROUTING */
>
> int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)
> @@ -1286,7 +1292,9 @@ int kvm_init(void)
> s->pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2);
> #endif
>
> +#ifdef KVM_CAP_IRQ_ROUTING
> s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0);
> +#endif
>
> ret = kvm_arch_init(s);
> if (ret < 0) {
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux