aboutsummaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2010-04-22 12:33:12 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-07-05 11:23:01 -0700
commitfab96caf8f4af41d1ed53c1ea37c70595d8d318f (patch)
tree04915b0c7cd3e89b5b8d147f7ccd0ba39b4c2ea0 /arch/x86
parent22dc1d0096484fba8c383e63064bec6d96dff218 (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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> (Cherry-picked from commit c2c63a493924e09a1984d1374a0e60dfd54fc0b0)
Diffstat (limited to 'arch/x86')
-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 f795c2ec807..f615af45256 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2909,6 +2909,16 @@ static void svm_cpuid_update(struct kvm_vcpu *vcpu)
static void svm_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry)
{
+ switch (func) {
+ case 0x8000000A:
+ entry->eax = 1; /* SVM revision 1 */
+ entry->ebx = 8; /* Lets support 8 ASIDs in case we add proper
+ ASID emulation to nested SVM */
+ entry->ecx = 0; /* Reserved */
+ entry->edx = 0; /* Do not support any additional features */
+
+ break;
+ }
}
static const struct trace_print_flags svm_exit_reasons_str[] = {