Re: [PATCH 7/7] kvm x86: report 1GB page support to userspace

Avi Kivity
2009-03-29T11:54:47Z

Joerg Roedel wrote:
> If userspace knows that the kernel part supports 1GB pages it can enable
> the corresponding cpuid bit so that guests actually use GB pages.
>

> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index a1df2a3..6593198 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -542,6 +542,8 @@ struct kvm_x86_ops {
> int (*set_tss_addr)(struct kvm *kvm, unsigned int addr);
> int (*get_tdp_level)(void);
> int (*get_mt_mask_shift)(void);
> +
> + bool (*gb_page_enable)(void);
> };
>

Should enable unconditionally. Of course we need to find the shadow bug
first, may be the has_wrprotected thingy.

> diff --git a/include/linux/kvm.h b/include/linux/kvm.h
> index ee755e2..e79eb26 100644
> --- a/include/linux/kvm.h
> +++ b/include/linux/kvm.h
> @@ -413,6 +413,7 @@ struct kvm_trace_rec {
> #define KVM_CAP_DEVICE_MSIX 28
> #endif
> #define KVM_CAP_ASSIGN_DEV_IRQ 29
> +#define KVM_CAP_1GB_PAGES 30
>
> #ifdef KVM_CAP_IRQ_ROUTING
>
>

Need KVM_GET_SUPPORTED_CPUID2 support as well.

--
error compiling committee.c: too many arguments to function