Re: randconfig build error with next-20150209, in arch/x86/kvm/vmx.c

From: Radim KrÄmÃÅ
Date: Mon Feb 09 2015 - 16:44:26 EST


2015-02-09 10:46-0700, Jim Davis:
> Building with the attached random configuration file,

Thank you for catching it!

> arch/x86/kvm/vmx.c: In function âvmx_deliver_nested_posted_interruptâ:
> arch/x86/kvm/vmx.c:4378:4: error: âapicâ undeclared (first use in this function)
> apic->send_IPI_mask(get_cpu_mask(vcpu->cpu),
> ^

---8<---
KVM: VMX: include <asm/apic.h> to fix build error

<asm/apic.h> isn't included directly and without CONFIG_SMP, an option
that automagically pulls it can't be enabled.

Reported-by: Jim Davis <jim.epost@xxxxxxxxx>
Signed-off-by: Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>
---
We could just #ifdef because the vcpu isn't running at that time,
but I think that including the header instead of introducing an
exception is worth the slowdown on UP. #ifdef for comparison:
@@ -4374,9 +4374,11 @@ static int vmx_deliver_nested_posted_interrupt(struct kvm_vcpu *vcpu,
if (is_guest_mode(vcpu) &&
vector == vmx->nested.posted_intr_nv) {
/* the PIR and ON have been set by L1. */
+#ifdef CONFIG_SMP
if (vcpu->mode == IN_GUEST_MODE)
apic->send_IPI_mask(get_cpu_mask(vcpu->cpu),
POSTED_INTR_VECTOR);
+#endif
/*
* If a posted intr is not recognized by hardware,
* we will accomplish it in the next vmentry.

arch/x86/kvm/vmx.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 6e112472b0b3..3f73bfad0349 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -45,6 +45,7 @@
#include <asm/perf_event.h>
#include <asm/debugreg.h>
#include <asm/kexec.h>
+#include <asm/apic.h>

#include "trace.h"

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/