aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-04-22 06:33:12 -0400
committerAvi Kivity <avi@redhat.com>2010-05-17 05:19:24 -0400
commitc2c63a493924e09a1984d1374a0e60dfd54fc0b0 (patch)
tree2bf97279aee91da891a87da2ac0576bbf8b06b1b /arch/x86/kvm/svm.c
parentd4330ef2fb2236a1e3a176f0f68360f4c0a8661b (diff)
KVM: SVM: Report emulated SVM features to userspace
This patch implements the reporting of the emulated SVM features to userspace instead of the real hardware capabilities. Every real hardware capability needs emulation in nested svm so the old behavior was broken. Cc: stable@kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r--arch/x86/kvm/svm.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 0fa2035bd8e7..65fc11438b75 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -3154,6 +3154,16 @@ static void svm_cpuid_update(struct kvm_vcpu *vcpu)
3154 3154
3155static void svm_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry) 3155static void svm_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry)
3156{ 3156{
3157 switch (func) {
3158 case 0x8000000A:
3159 entry->eax = 1; /* SVM revision 1 */
3160 entry->ebx = 8; /* Lets support 8 ASIDs in case we add proper
3161 ASID emulation to nested SVM */
3162 entry->ecx = 0; /* Reserved */
3163 entry->edx = 0; /* Do not support any additional features */
3164
3165 break;
3166 }
3157} 3167}
3158 3168
3159static const struct trace_print_flags svm_exit_reasons_str[] = { 3169static const struct trace_print_flags svm_exit_reasons_str[] = {