[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] svm: Enable nested paging only on x86/64.
# HG changeset patch # User Keir Fraser <keir@xxxxxxxxxxxxx> # Date 1191486978 -3600 # Node ID c632def5f69b350b967c5f03250d25919c6a15ea # Parent ca1085e8ab82d33bffb01a1a0fa9d507bbcff5f1 svm: Enable nested paging only on x86/64. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- xen/arch/x86/hvm/svm/svm.c | 19 ++++++++----------- 1 files changed, 8 insertions(+), 11 deletions(-) diff -r ca1085e8ab82 -r c632def5f69b xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Wed Oct 03 16:33:23 2007 +0100 +++ b/xen/arch/x86/hvm/svm/svm.c Thu Oct 04 09:36:18 2007 +0100 @@ -885,16 +885,6 @@ static struct hvm_function_table svm_fun .event_pending = svm_event_pending }; -static int svm_npt_detect(void) -{ - u32 eax, ebx, ecx, edx; - - /* Check CPUID for nested paging support. */ - cpuid(0x8000000A, &eax, &ebx, &ecx, &edx); - - return (edx & 1); -} - int start_svm(struct cpuinfo_x86 *c) { u32 eax, ecx, edx; @@ -937,7 +927,14 @@ int start_svm(struct cpuinfo_x86 *c) setup_vmcb_dump(); - svm_function_table.hap_supported = svm_npt_detect(); +#ifdef __x86_64__ + /* + * Check CPUID for nested paging support. We support NPT only on 64-bit + * hosts since the phys-to-machine table is in host format. Hence 32-bit + * Xen could only support guests using NPT with up to a 4GB memory map. + */ + svm_function_table.hap_supported = (cpuid_edx(0x8000000A) & 1); +#endif hvm_enable(&svm_function_table); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |