From: Jack Lange Date: Wed, 15 Jul 2009 23:36:06 +0000 (-0500) Subject: fixed CPUID codes for SVM X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=commitdiff_plain;h=50dd6f837443d6f5a8cfb2410f1f8d95e8367b6a fixed CPUID codes for SVM --- diff --git a/palacios/include/palacios/svm.h b/palacios/include/palacios/svm.h index 0be1c9a..9c3d2c9 100644 --- a/palacios/include/palacios/svm.h +++ b/palacios/include/palacios/svm.h @@ -31,8 +31,7 @@ #include #include -#define CPUID_FEATURE_IDS 0x80000001 -#define CPUID_FEATURE_IDS_ecx_svm_avail 0x00000004 +#define CPUID_EXT_FEATURE_IDS_ecx_svm_avail 0x00000004 #define CPUID_SVM_REV_AND_FEATURE_IDS 0x8000000a #define CPUID_SVM_REV_AND_FEATURE_IDS_edx_svml 0x00000004 diff --git a/palacios/include/palacios/vmm_lowlevel.h b/palacios/include/palacios/vmm_lowlevel.h index 6558884..109c6d2 100644 --- a/palacios/include/palacios/vmm_lowlevel.h +++ b/palacios/include/palacios/vmm_lowlevel.h @@ -20,7 +20,7 @@ #include -#define CPUID_FEATURE_IDS 0x80000001 +#define CPUID_FEATURE_IDS 0x00000001 #define CPUID_EXT_FEATURE_IDS 0x80000001 diff --git a/palacios/src/palacios/svm.c b/palacios/src/palacios/svm.c index c7da4a4..6d8cdd2 100644 --- a/palacios/src/palacios/svm.c +++ b/palacios/src/palacios/svm.c @@ -367,11 +367,11 @@ int v3_is_svm_capable() { uint_t vm_cr_low = 0, vm_cr_high = 0; addr_t eax = 0, ebx = 0, ecx = 0, edx = 0; - v3_cpuid(CPUID_FEATURE_IDS, &eax, &ebx, &ecx, &edx); + v3_cpuid(CPUID_EXT_FEATURE_IDS, &eax, &ebx, &ecx, &edx); - PrintDebug("CPUID_FEATURE_IDS_ecx=%p\n", (void *)ecx); + PrintDebug("CPUID_EXT_FEATURE_IDS_ecx=%p\n", (void *)ecx); - if ((ecx & CPUID_FEATURE_IDS_ecx_svm_avail) == 0) { + if ((ecx & CPUID_EXT_FEATURE_IDS_ecx_svm_avail) == 0) { PrintDebug("SVM Not Available\n"); return 0; } else { @@ -419,7 +419,7 @@ static int has_svm_nested_paging() { v3_cpuid(CPUID_SVM_REV_AND_FEATURE_IDS, &eax, &ebx, &ecx, &edx); - //PrintDebug("CPUID_FEATURE_IDS_edx=0x%x\n", edx); + //PrintDebug("CPUID_EXT_FEATURE_IDS_edx=0x%x\n", edx); if ((edx & CPUID_SVM_REV_AND_FEATURE_IDS_edx_np) == 0) { PrintDebug("SVM Nested Paging not supported\n");