[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v7 01/17] target-i386: Add Hypervisor level.
From: |
Don Slutz |
Subject: |
[Qemu-devel] [PATCH v7 01/17] target-i386: Add Hypervisor level. |
Date: |
Fri, 12 Oct 2012 15:56:06 -0400 |
Part of "target-i386: Add way to expose VMWare CPUID"
Also known as Paravirtualization level or maximim cpuid function present in
this leaf.
This is the EAX value for 0x40000000.
QEMU knows this is KVM_CPUID_SIGNATURE (0x40000000).
This is based on:
Microsoft Hypervisor CPUID Leaves:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff542428%28v=vs.85%29.aspx
Linux kernel change starts with:
http://fixunix.com/kernel/538707-use-cpuid-communicate-hypervisor.html
Also:
http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
VMware documention on CPUIDs (Mechanisms to determine if software is
running in a VMware virtual machine):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz <address@hidden>
---
target-i386/cpu.h | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 5265c5a..1899f69 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -777,11 +777,14 @@ typedef struct CPUX86State {
uint32_t cpuid_ext3_features;
uint32_t cpuid_apic_id;
bool cpuid_vendor_override;
+ bool cpuid_hv_level_set;
/* Store the results of Centaur's CPUID instructions */
uint32_t cpuid_xlevel2;
uint32_t cpuid_ext4_features;
/* Flags from CPUID[EAX=7,ECX=0].EBX */
uint32_t cpuid_7_0_ebx;
+ /* Hypervisor CPUIDs */
+ uint32_t cpuid_hv_level;
/* MTRRs */
uint64_t mtrr_fixed[11];
--
1.7.1
- [Qemu-devel] [PATCH v7 00/17] target-i386: Add way to expose VMWare CPUID, Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 01/17] target-i386: Add Hypervisor level.,
Don Slutz <=
- [Qemu-devel] [PATCH v7 03/17] target-i386: Add Hypervisor features., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 02/17] target-i386: Add Hypervisor vendor., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 04/17] target-i386: Add cpu object access routines for Hypervisor level., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 05/17] target-i386: Add cpu object access routines for Hypervisor vendor., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 06/17] target-i386: Add cpu object access routines for Hypervisor features., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 07/17] target-i386: Add x86_set_hyperv., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 08/17] target-i386: Use x86_set_hyperv to set hypervisor vendor., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 09/17] target-i386: Use x86_set_hyperv to set hypervisor features., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 10/17] target-i386: Use Hypervisor level in -machine pc, accel=kvm., Don Slutz, 2012/10/12
- [Qemu-devel] [PATCH v7 11/17] target-i386: Use Hypervisor vendor in -machine pc, accel=kvm., Don Slutz, 2012/10/12