[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 12/17] target-i386: check/enforce: Check SVM flag su
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH 12/17] target-i386: check/enforce: Check SVM flag support as well |
Date: |
Tue, 8 Jan 2013 21:56:29 +0100 |
From: Eduardo Habkost <address@hidden>
When nested SVM is supported, the kernel returns the SVM flag on
GET_SUPPORTED_CPUID[1], so we can check the SVM flag safely in
kvm_check_features_against_host().
I don't know why the original code ignored the SVM flag. Maybe it was
because kvm_cpu_fill_host() used the CPUID instruction directly instead
of GET_SUPPORTED_CPUID
[1] Older kernels (before v2.6.37) returned the SVM flag even if nested
SVM was _not_ supported. So the only cases where this patch should
change behavior is when SVM is being requested by the user or the
CPU model, but not supported by the host. And on these cases we
really want QEMU to abort if the "enforce" option is set.
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Gleb Natapov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
target-i386/cpu.c | 2 +-
1 Datei geändert, 1 Zeile hinzugefügt(+), 1 Zeile entfernt(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index a2971d2..535cd52 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -963,7 +963,7 @@ static int kvm_check_features_against_host(x86_def_t
*guest_def)
{&guest_def->ext2_features, &host_def.ext2_features,
~0, ext2_feature_name, 0x80000001, R_EDX},
{&guest_def->ext3_features, &host_def.ext3_features,
- ~CPUID_EXT3_SVM, ext3_feature_name, 0x80000001, R_ECX}
+ ~0, ext3_feature_name, 0x80000001, R_ECX}
};
assert(kvm_enabled());
--
1.7.10.4
- [Qemu-devel] [PATCH 02/17] libqemustub: vmstate register/unregister stubs, (continued)
- [Qemu-devel] [PATCH 02/17] libqemustub: vmstate register/unregister stubs, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 03/17] libqemustub: sysbus_get_default() stub, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 01/17] libqemustub: Add qemu_[un]register_reset() stubs, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 05/17] qdev: Don't assume existence of parent bus on unparenting, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 04/17] qdev: Include qdev code into *-user, too, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 06/17] cpu: Change parent type to Device, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 08/17] target-i386: kvm: Enable all supported KVM features for -cpu host, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 07/17] target-i386: kvm: -cpu host: Use GET_SUPPORTED_CPUID for SVM features, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 09/17] target-i386: check/enforce: Fix CPUID leaf numbers on error messages, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 10/17] target-i386: check/enforce: Do not ignore "hypervisor" flag, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 12/17] target-i386: check/enforce: Check SVM flag support as well,
Andreas Färber <=
- [Qemu-devel] [PATCH 11/17] target-i386: check/enforce: Check all CPUID.80000001H.EDX bits, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 13/17] target-i386: check/enforce: Eliminate check_feat field, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 16/17] target-i386: Sanitize AMD's ext2_features at realize time, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 15/17] target-i386: Filter out unsupported features at realize time, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 14/17] qemu-common.h: Make qemu_init_vcpu() stub static inline, Andreas Färber, 2013/01/08
- [Qemu-devel] [PATCH 17/17] target-i386: Explicitly set vendor for each built-in cpudef, Andreas Färber, 2013/01/08
- Re: [Qemu-devel] [PULL] QOM CPUState patch queue 2013-01-08, Andreas Färber, 2013/01/08