Re: [PATCH] kvm, Add x86_hyper_kvm to completedetect_hypervisor_platform check

From: Konrad Rzeszutek Wilk
Date: Thu Jun 28 2012 - 10:14:46 EST


On Thu, Jun 28, 2012 at 07:11:31AM -0400, Prarit Bhargava wrote:
>
>
> On 06/27/2012 09:24 PM, Konrad Rzeszutek Wilk wrote:
> > On Wed, Jun 27, 2012 at 05:42:18PM -0400, Prarit Bhargava wrote:
> >> While debugging I noticed that unlike all the other hypervisor code in the
> >> kernel, kvm does not have an entry for x86_hyper which is used in
> >> detect_hypervisor_platform(), and results in a nice message about the
> >> hypervisor being used. This is only really a stub function and it makes
> >> kvm more consistent with the other hypervisors (and it makes debugging
> >> a little easier).
> >>
> >> Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx>
> >> Cc: Avi Kivity <avi@xxxxxxxxxx>
> >> Cc: Gleb Natapov <gleb@xxxxxxxxxx>
> >> Cc: Alex Williamson <alex.williamson@xxxxxxxxxx>
> >> ---
> >> arch/x86/include/asm/hypervisor.h | 1 +
> >> arch/x86/kernel/cpu/hypervisor.c | 1 +
> >> arch/x86/kernel/kvm.c | 6 ++++++
> >> 3 files changed, 8 insertions(+)
> >>
> >> diff --git a/arch/x86/include/asm/hypervisor.h b/arch/x86/include/asm/hypervisor.h
> >> index 7a15153..b518c75 100644
> >> --- a/arch/x86/include/asm/hypervisor.h
> >> +++ b/arch/x86/include/asm/hypervisor.h
> >> @@ -49,6 +49,7 @@ extern const struct hypervisor_x86 *x86_hyper;
> >> extern const struct hypervisor_x86 x86_hyper_vmware;
> >> extern const struct hypervisor_x86 x86_hyper_ms_hyperv;
> >> extern const struct hypervisor_x86 x86_hyper_xen_hvm;
> >> +extern const struct hypervisor_x86 x86_hyper_kvm;
> >>
> >> static inline bool hypervisor_x2apic_available(void)
> >> {
> >> diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c
> >> index 755f64f..6d6dd7a 100644
> >> --- a/arch/x86/kernel/cpu/hypervisor.c
> >> +++ b/arch/x86/kernel/cpu/hypervisor.c
> >> @@ -37,6 +37,7 @@ static const __initconst struct hypervisor_x86 * const hypervisors[] =
> >> #endif
> >> &x86_hyper_vmware,
> >> &x86_hyper_ms_hyperv,
> >> + &x86_hyper_kvm,
> >> };
> >>
> >> const struct hypervisor_x86 *x86_hyper;
> >> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
> >> index e554e5a..0a38b68 100644
> >> --- a/arch/x86/kernel/kvm.c
> >> +++ b/arch/x86/kernel/kvm.c
> >> @@ -39,6 +39,7 @@
> >> #include <asm/desc.h>
> >> #include <asm/tlbflush.h>
> >> #include <asm/idle.h>
> >> +#include <asm/hypervisor.h>
> >>
> >> static int kvmapf = 1;
> >>
> >> @@ -432,6 +433,11 @@ void __init kvm_guest_init(void)
> >> #endif
> >> }
> >>
> >> +const struct hypervisor_x86 x86_hyper_kvm __refconst = {
> >> + .name = "KVM",
> >> +};
> >> +EXPORT_SYMBOL(x86_hyper_kvm);
> >
> > EXPORT_SYMBOL_GPL version. ?
>
> Hey Konrad, thanks for the review.

Sure thing.
>
> The other hypervisor_x86 structs are only EXPORT_SYMBOL, so I maintained that
> convention here.

Go for _GPL. Not sure why they were the non-GPL version but there is no need
for non-GPL version.
--
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/