From: Christoffer Dall <christoffer.dall@linaro.org>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Michele Paolino <m.paolino@virtualopensystems.com>,
kvmarm@lists.cs.columbia.edu, tech@virtualopensystems.com,
kvm@vger.kernel.org
Subject: Re: [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC
Date: Wed, 12 Mar 2014 15:31:11 -0700 [thread overview]
Message-ID: <20140312223111.GA24808@cbox> (raw)
In-Reply-To: <7b51b9b296e342bcf85a3719513b2d0d@www.loen.fr>
On Thu, Mar 06, 2014 at 03:30:46AM +0000, Marc Zyngier wrote:
> Paolo, Michele,
>
> On 2014-03-04 15:31, Paolo Bonzini wrote:
> >Il 04/03/2014 16:10, Michele Paolino ha scritto:
> >>When the kernel is configured without CONFIG_KVM_ARM_VGIC, the
> >>compilation process fails with :
> >>
> >>arch/arm/kvm/arm.c: In function 'kvm_vm_ioctl_set_device_addr':
> >>arch/arm/kvm/arm.c:797:3: error: implicit declaration of
> >> function 'kvm_vgic_addr' [-Werror=implicit-function-declaration]
> >> return kvm_vgic_addr(kvm, type, &dev_addr->addr, true)
> >>
> >>Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
> >>---
> >> include/kvm/arm_vgic.h | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >>diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
> >>index be85127..0bab057 100644
> >>--- a/include/kvm/arm_vgic.h
> >>+++ b/include/kvm/arm_vgic.h
> >>@@ -143,8 +143,8 @@ struct kvm_vcpu;
> >> struct kvm_run;
> >> struct kvm_exit_mmio;
> >>
> >>-#ifdef CONFIG_KVM_ARM_VGIC
> >> int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64
> >>*addr, bool write);
> >>+#ifdef CONFIG_KVM_ARM_VGIC
> >> int kvm_vgic_hyp_init(void);
> >> int kvm_vgic_init(struct kvm *kvm);
> >> int kvm_vgic_create(struct kvm *kvm);
> >>
> >
> >Christoffer, Marc, I can queue this directly for kvm/master if
> >it's okay
> >for you.
>
> This patch looks a bit wrong. Why would we need to configure the
> vgic addresses if the vgic is explicitly disabled?
> Furthermore, I doubt it leads to a kernel that actually links, as
> the file containing kvm_vgic_addr will not be compiled...
>
> Instead, please consider applying the attached patch (quickly tested
> on a Cubietruck).
>
> Thanks,
>
> M.
> --
> Fast, cheap, reliable. Pick two.
> From 0876a7f6851e011b24f61ccbada35a5e8b898dd2 Mon Sep 17 00:00:00 2001
> From: Marc Zyngier <marc.zyngier@arm.com>
> Date: Thu, 6 Mar 2014 03:21:36 +0000
> Subject: [PATCH] ARM: KVM: fix non-VGIC compilation
>
> Add a stub for kvm_vgic_addr when compiling without
> CONFIG_KVM_ARM_VGIC. The usefulness of this configurarion is extremely
> doubtful, but let's fix it anyway (until we decide that we'll always
> support a VGIC).
>
> Reported-by: Michele Paolino <m.paolino@virtualopensystems.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Christoffer Dall <christoffer.dall@linaro.org>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> include/kvm/arm_vgic.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
> index be85127..f27000f 100644
> --- a/include/kvm/arm_vgic.h
> +++ b/include/kvm/arm_vgic.h
> @@ -171,6 +171,11 @@ static inline int kvm_vgic_set_addr(struct kvm *kvm, unsigned long type, u64 add
> return 0;
> }
>
> +static inline int kvm_vgic_addr(struct kvm *kvm, unsigned long type, u64 *addr, bool write)
> +{
> + return -ENXIO;
> +}
> +
> static inline int kvm_vgic_init(struct kvm *kvm)
> {
> return 0;
> --
> 1.9.0
>
This looks right to me. I can queue this for the next -rc release.
Thanks,
-Christoffer
next prev parent reply other threads:[~2014-03-12 22:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-04 15:10 [PATCH] [fix] kernel does not compile without CONFIG_KVM_ARM_VGIC Michele Paolino
2014-03-04 15:31 ` Paolo Bonzini
2014-03-06 3:30 ` Marc Zyngier
2014-03-12 22:31 ` Christoffer Dall [this message]
2014-03-12 22:32 ` Christoffer Dall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140312223111.GA24808@cbox \
--to=christoffer.dall@linaro.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=m.paolino@virtualopensystems.com \
--cc=marc.zyngier@arm.com \
--cc=pbonzini@redhat.com \
--cc=tech@virtualopensystems.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.