Commit 33bd6a0b authored by Joerg Roedel's avatar Joerg Roedel Committed by Avi Kivity

KVM: SVM: move feature detection to hardware setup code

By moving the SVM feature detection from the each_cpu code to the hardware
setup code it runs only once. As an additional advance the feature check is now
available earlier in the module setup process.
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 9457a712
...@@ -302,7 +302,6 @@ static void svm_hardware_enable(void *garbage) ...@@ -302,7 +302,6 @@ static void svm_hardware_enable(void *garbage)
svm_data->asid_generation = 1; svm_data->asid_generation = 1;
svm_data->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; svm_data->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1;
svm_data->next_asid = svm_data->max_asid + 1; svm_data->next_asid = svm_data->max_asid + 1;
svm_features = cpuid_edx(SVM_CPUID_FUNC);
asm volatile ("sgdt %0" : "=m"(gdt_descr)); asm volatile ("sgdt %0" : "=m"(gdt_descr));
gdt = (struct desc_struct *)gdt_descr.address; gdt = (struct desc_struct *)gdt_descr.address;
...@@ -411,6 +410,9 @@ static __init int svm_hardware_setup(void) ...@@ -411,6 +410,9 @@ static __init int svm_hardware_setup(void)
if (r) if (r)
goto err_2; goto err_2;
} }
svm_features = cpuid_edx(SVM_CPUID_FUNC);
return 0; return 0;
err_2: err_2:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment