Re: [PATCH 2/24] Add VMX and SVM to list of supported cpuid features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/13/2010 03:23 PM, Nadav Har'El wrote:
Add the "VMX" CPU feature to the list of CPU featuress KVM advertises with
the KVM_GET_SUPPORTED_CPUID ioctl (unless the "nested" module option is off).

Qemu uses this ioctl, and intersects KVM's list with its own list of desired
cpu features (depending on the -cpu option given to qemu) to determine the
final list of features presented to the guest.
This patch also does the same for SVM: KVM now advertises it supports SVM,
unless the "nested" module option is off.

Signed-off-by: Nadav Har'El<nyh@xxxxxxxxxx>
---
--- .before/arch/x86/kvm/x86.c	2010-06-13 15:01:28.000000000 +0300
+++ .after/arch/x86/kvm/x86.c	2010-06-13 15:01:28.000000000 +0300
@@ -1923,7 +1923,7 @@ static void do_cpuid_ent(struct kvm_cpui
  	/* cpuid 1.ecx */
  	const u32 kvm_supported_word4_x86_features =
  		F(XMM3) | 0 /* Reserved, DTES64, MONITOR */ |
-		0 /* DS-CPL, VMX, SMX, EST */ |
+		0 /* DS-CPL */ | (nested ? F(VMX) : 0) | 0 /* SMX, EST */ |
  		0 /* TM2 */ | F(SSSE3) | 0 /* CNXT-ID */ | 0 /* Reserved */ |
  		0 /* Reserved */ | F(CX16) | 0 /* xTPR Update, PDCM */ |
  		0 /* Reserved, DCA */ | F(XMM4_1) |

You can use kvm_x86_ops->set_supported_cpuid() to alter features.

@@ -1931,7 +1931,8 @@ static void do_cpuid_ent(struct kvm_cpui
  		0 /* Reserved, XSAVE, OSXSAVE */;
  	/* cpuid 0x80000001.ecx */
  	const u32 kvm_supported_word6_x86_features =
-		F(LAHF_LM) | F(CMP_LEGACY) | F(SVM) | 0 /* ExtApicSpace */ |
+		F(LAHF_LM) | F(CMP_LEGACY) | (nested ? F(SVM) : 0) |
+		0 /* ExtApicSpace */ |
  		F(CR8_LEGACY) | F(ABM) | F(SSE4A) | F(MISALIGNSSE) |
  		F(3DNOWPREFETCH) | 0 /* OSVW */ | 0 /* IBS */ | F(SSE5) |
  		0 /* SKINIT */ | 0 /* WDT */;

Good idea, but let's leave it out of the nvmx patches.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux