On 01/05/2010 12:12 PM, Sheng Yang wrote:
Signed-off-by: Sheng Yang<sheng@xxxxxxxxxxxxxxx> --- arch/x86/include/asm/vmx.h | 1 + arch/x86/kvm/mmu.c | 8 +++++--- arch/x86/kvm/vmx.c | 11 ++++++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index 713ed9a..43f1e9b 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -364,6 +364,7 @@ enum vmcs_field { #define VMX_EPTP_UC_BIT (1ull<< 8) #define VMX_EPTP_WB_BIT (1ull<< 14) #define VMX_EPT_2MB_PAGE_BIT (1ull<< 16) +#define VMX_EPT_1GB_PAGE_BIT (1ull<< 17)
Can you share when this feature will be available in hardware?
static int vmx_get_lpage_level(void) { - return 2; /* PT_DIRECTORY_LEVEL */ + if (enable_ept&& !cpu_has_vmx_ept_1g_page()) + return 2; /* PT_DIRECTORY_LEVEL */ + else + /* For shadow and EPT supported 1GB page */ + return 3; /* PT_PDPE_LEVEL */ }
Why not use the defines instead of numbers? It will reduce change when we change PT_*_LEVEL to be zero based instead of one based.
Patchset looks good; second patch should go into .33 and stable, no? -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html