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

From: Konrad Rzeszutek Wilk
Date: Wed Jun 27 2012 - 21:32:05 EST


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. ?

> +
> static __init int activate_jump_labels(void)
> {
> if (has_steal_clock) {
> --
> 1.7.9.3
>
> --
> 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/
--
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/