----- Original Message -----
From: "Suravee Suthikulanit" <suravee.suthikulpanit@xxxxxxx>
To: "Paolo Bonzini" <pbonzini@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx
Cc: rkrcmar@xxxxxxxxxx
Sent: Tuesday, June 14, 2016 8:20:30 PM
Subject: Re: [PATCH] KVM: SVM: compile out AVIC if !CONFIG_X86_LOCAL_APIC
Hi Paolo,
On 6/14/2016 11:40 AM, Paolo Bonzini wrote:
AVIC needs __default_cpu_present_to_apicid. Stub out all functions
that use it, and disable the module parameter, if Linux is
compiled without local APIC support.
I think you are right that we should disable AVIC #ifndef
CONFIG_X86_LOCAL_APIC. However, do you think we should just use
default_cpu_present_to_apicid() instead of the
__default_cpu_present_to_apicid()?
I'm not sure why that would help? default_cpu_present_to_apicid
is also declared only if CONFIG_X86_LOCAL_APIC is defined.
As for disabling AVIC, I think we can also do:
if (!IS_ENABLED(CONFIG_X86_LOCAL_APIC))
avic = false;
Yes, we'll need to do that once AVIC is enabled by default; or
static bool avic = IS_ENABLED(CONFIG_X86_LOCAL_APIC);
In any case the module parameter must be hidden if there's no
support in the kernel for the local APIC.
Paolo