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@xxxxxxxxxxxxxxxxxxxxxx> > >>--- > >> 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@xxxxxxx> > 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@xxxxxxxxxxxxxxxxxxxxxx> > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> > Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> > --- > 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 > Ah, never mind, it was already applied. Thanks Paolo. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html