On 10/09/12 15:13, Don Slutz wrote:
On 10/09/12 12:25, Marcelo Tosatti wrote:
On Mon, Sep 24, 2012 at 10:32:05AM -0400, Don Slutz wrote:
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 29
On 10/10/12 11:40, Andreas Färber wrote:
Am 10.10.2012 17:22, schrieb Don Slutz:
On 10/09/12 15:13, Don Slutz wrote:
On 10/09/12 12:25, Marcelo Tosatti wrote:
On Mon, Sep 24, 2012 at 10:32:05AM -0400, Don Slutz wrote:
+static void x86_cpuid_set_hv_level(Object *obj, Visitor *v, void
*opaque
This was part of [PATCH v6 00/16] Allow changing of Hypervisor CPUIDs.
Since it is no longer in use by any of the patches in v7, I have split it off.
Don Slutz (1):
target-i386: Add missing kvm bits.
target-i386/cpu.c | 12
1 files changed, 8 insertions(+), 4 deletions(-)
Currently "-cpu host,-kvmclock,-kvm_nopiodelay,-kvm_mmu" does not
turn off all bits in CPUID 0x4001 EAX.
The missing ones are KVM_FEATURE_STEAL_TIME and
KVM_FEATURE_CLOCKSOURCE_STABLE_BIT.
This adds the names kvm_steal_time and kvm_clock_stable for these
bits.
Signed-off-by:
This was part of [PATCH v6 00/16] Allow changing of Hypervisor CPUIDs.
Since it is no longer in use by any of the patches in v7, I have split it off.
Don Slutz (1):
target-i386: Add missing kvm bits.
target-i386/cpu.c | 12
1 files changed, 8 insertions(+), 4 deletions(-)
for accel=kvm.
Changes from v2 to v3:
Marcelo Tosatti:
Its one big patch, better split in logically correlated patches
(with better changelog). This would help reviewers.
So split 3 and 4 into 3 to 17. More info in change log.
No code change.
Don Slutz (17):
target-i386: Add Hyperviso
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
---
target-i386/cpu.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b
Part of "target-i386: Add way to expose VMWare CPUID"
Also known as Paravirtualization level.
QEMU knows this is KVM_CPUID_SIGNATURE (0x4000).
Signed-off-by: Don Slutz
---
target-i386/kvm.c |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/target-i3
Part of "target-i386: Add way to expose VMWare CPUID"
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/target-i3
/00100.html for
definition of kvm's vendor.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 44
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index c4bd6cf..a87527c 100644
--- a/target-i38
.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 30 ++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index c8466ec..5
/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
---
target
the resulting
CPUID bits exposed to the guest should be a function of the
machine-type and command-line/config parameters, and nothing else
(otherwise the CPUID bits would change under the guest's feet when
live-migrating).
Signed-off-by: Don Slutz
---
target-i386/cpu.c |9 +
x4000.
QEMU knows this is KVM_CPUID_SIGNATURE (0x4000).
This is based on:
Microsoft Hypervisor CPUID Leaves:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff542428%28v=vs.85%29.aspx
Signed-off-by: Don Slutz
---
target-i386/cpu.c |2 ++
target-i386/cpu.h |1 +
2 files changed
VMware is setting this data.
Signed-off-by: Don Slutz
---
target-i386/cpu.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 49e5db3..924db0d 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1936,6 +1936,
rosoft.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
Signed-off-by: Don Slutz
---
target-i386/kv
VMware is setting this data.
Signed-off-by: Don Slutz
---
target-i386/cpu.h |4
target-i386/kvm.c | 22 ++
2 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 9a34c7b..6ceef05 100644
--- a/target-i386/cpu.h
++
EXT (0x4100).
Signed-off-by: Don Slutz
---
target-i386/kvm.c | 26 ++
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 30963e1..513356d 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -390,20
):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 11 ++-
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 5b33b
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
---
target-i386/cpu.h |3 +++
1 files changed, 3 insertions(+), 0 deletion
s the EAX value for 0x4001.
QEMU knows this is KVM_CPUID_FEATURES (0x4001) in some builds.
This is based on:
Microsoft Hypervisor CPUID Leaves:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff542428%28v=vs.85%29.aspx
Signed-off-by: Don Slutz
---
target-i386/cpu.c |2 ++
/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 58 -
target-i386/cpu.h |9
2 files changed, 66 insertions(+), 1 deletions(-)
diff --git a/target-i386/cpu.c b/ta
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
---
target-i386/cpu.h |3 +++
1 files changed, 3 insertions(+), 0
DEFINE_PROP_BIT("f-vmcb_clean", X86CPU, env.cpuid_svm_features, 5, false),
+DEFINE_PROP_BIT("f-flushbyasid", X86CPU, env.cpuid_svm_features, 6,
false),
+DEFINE_PROP_BIT("f-decodeassists", X86CPU, env.cpuid_svm_features, 7,
false),
+DEFINE_PROP_BIT("f-pause_filter", X86CPU, env.cpuid_svm_features, 10,
false),
+DEFINE_PROP_BIT("f-pfthreshold", X86CPU, env.cpuid_svm_features, 12,
false),
+DEFINE_PROP_BIT("f-smep", X86CPU, env.cpuid_7_0_ebx_features, 7, false),
+DEFINE_PROP_BIT("f-smap", X86CPU, env.cpuid_7_0_ebx_features, 20, false),
+DEFINE_PROP_END_OF_LIST(),
+ };
+
/* collects per-function cpuid data
*/
typedef struct model_features_t {
@@ -1948,9 +2058,11 @@ static void x86_cpu_common_class_init(ObjectClass *oc,
void *data)
{
X86CPUClass *xcc = X86_CPU_CLASS(oc);
CPUClass *cc = CPU_CLASS(oc);
+DeviceClass *dc = DEVICE_CLASS(oc);
xcc->parent_reset = cc->reset;
cc->reset = x86_cpu_reset;
+dc->props = cpu_x86_properties;
}
static const TypeInfo x86_cpu_type_info = {
I have checked all this bits and do not find an error. The only issue
is checkpatch.pl
-Don Slutz
SOURCE) |
-(1 << KVM_FEATURE_NOP_IO_DELAY) |
-(1 << KVM_FEATURE_MMU_OP) |
-(1 << KVM_FEATURE_CLOCKSOURCE2) |
-(1 << KVM_FEATURE_ASYNC_PF) |
-(1 << KVM_FEATURE_STEAL_TIME) |
-(1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT);
-#else
-plus_kvm_features = 0;
-#endif
-
featurestr = strtok(NULL, ",");
while (featurestr) {
-Don Slutz
org/archive/html/qemu-devel/2012-10/msg02786.html
-Don Slutz
Depends on "CPU as Device" series:
http://lists.nongnu.org/archive/html/qemu-devel/2012-10/msg02776.html
Reference to a previous version:
http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg00210.html
Igor Mam
_cpu_def->ext_features |= plus_ext_features;
-x86_cpu_def->ext2_features |= plus_ext2_features;
- x86_cpu_def->ext3_features |= plus_ext3_features;
-x86_cpu_def->kvm_features |= plus_kvm_features;
-x86_cpu_def->svm_features |= plus_svm_features;
-x86_cpu_def->cpuid_7_0_ebx_features |= plus_7_0_ebx_features;
-x86_cpu_def->features &= ~minus_features;
-x86_cpu_def->ext_features &= ~minus_ext_features;
-x86_cpu_def->ext2_features &= ~minus_ext2_features;
-x86_cpu_def->ext3_features &= ~minus_ext3_features;
-x86_cpu_def->kvm_features &= ~minus_kvm_features;
-x86_cpu_def->svm_features &= ~minus_svm_features;
-x86_cpu_def->cpuid_7_0_ebx_features &= ~minus_7_0_ebx_features;
-g_free(s);
+
+g_free(name);
+QDECREF(features);
return 0;
error:
-g_free(s);
+g_free(name);
+QDECREF(features);
if (!error_is_set(errp)) {
error_set(errp, QERR_INVALID_PARAMETER_COMBINATION);
}
-Don Slutz
L /* cx8 */ /* AMD CMPXCHG8B */, NULL /* apic */, NULL, "syscall",
-NULL /* mtrr */, NULL /* pge */, NULL /* mca */, NULL /* cmov */,
-NULL /* pat */, NULL /* pse36 */, NULL, NULL /* Linux mp */,
-"nx|xd", NULL, "mmxext", NULL /* mmx */,
-NULL /* fxsr */
On 10/23/12 06:29, Igor Mammedov wrote:
On Mon, 22 Oct 2012 19:19:29 -0400
Don Slutz wrote:
On 10/22/12 11:02, Igor Mammedov wrote:
- static properties names of CPUID features are changed to have "f-" prefix,
so that it would be easy to distinguish them from other
_cpuid_set_level, NULL, NULL, NULL);
-object_property_add(obj, "xlevel", "int",
-x86_cpuid_get_xlevel,
-x86_cpuid_set_xlevel, NULL, NULL, NULL);
object_property_add_str(obj, "vendor",
x86_cpuid_get_vendor,
x86_cpuid_set_vendor, NULL);
Reviewed-by: Don Slutz
ct_property_add(obj, "level", "int",
-x86_cpuid_get_level,
-x86_cpuid_set_level, NULL, NULL, NULL);
object_property_add_str(obj, "vendor",
x86_cpuid_get_vendor,
x86_cpuid_set_vendor, NULL);
Reviewed-by: Don Slutz
endif
-add_flagname_to_bitmaps("hypervisor", &plus_features,
-&plus_ext_features, &plus_ext2_features, &plus_ext3_features,
-&plus_kvm_features, &plus_svm_features, &plus_7_0_ebx_features);
-
featurestr = strtok(NULL, ",");
while (featurestr) {
Reviewed-by: Don Slutz
NE_PROP_KVMCLOCK("f-kvmclock", X86CPU, env.cpuid_kvm_features),
#endif
DEFINE_PROP_BIT("f-npt", X86CPU, env.cpuid_svm_features, 0, false),
DEFINE_PROP_BIT("f-lbrv", X86CPU, env.cpuid_svm_features, 1, false),
Reviewed-by: Don Slutz
On 10/24/12 10:10, Eduardo Habkost wrote:
I removed a line by mistake on commit
3b671a40cab2404bc63e57db8cd3afa4ec70bfab, containing the flags lm/i64,
3dnow, and 3dnowext. This patch restores the removed line.
Reported-by: Don Slutz
Signed-off-by: Eduardo Habkost
---
target-i386/cpu.c | 1
6CPU *cpu, x86_def_t *def, Error **errp)
{
CPUX86State *env = &cpu->env;
@@ -2261,9 +2271,6 @@ static void x86_cpu_initfn(Object *obj)
object_property_add(obj, "family", "int",
x86_cpuid_version_get_family,
x86_cpuid_version_set_family, NULL, NULL, NULL);
-object_property_add(obj, "model", "int",
-x86_cpuid_version_get_model,
-x86_cpuid_version_set_model, NULL, NULL, NULL);
env->cpuid_apic_id = env->cpu_index;
Reviewed-by: Don Slutz
x86_cpu_initfn(Object *obj)
cpu_exec_init(env);
-object_property_add(obj, "family", "int",
-x86_cpuid_version_get_family,
-x86_cpuid_version_set_family, NULL, NULL, NULL);
-
env->cpuid_apic_id = env->cpu_index;
/* init various static tables used in TCG mode */
Reviewed-by: Don Slutz
ef_2_x86_cpu(X86CPU *cpu, x86_def_t *def, Error **errp)
{
CPUX86State *env = &cpu->env;
@@ -2254,9 +2264,6 @@ static void x86_cpu_initfn(Object *obj)
object_property_add(obj, "model", "int",
x86_cpuid_version_get_model,
x86_cpuid_version_set_model, NULL, NULL, NULL);
-object_property_add(obj, "stepping", "int",
-x86_cpuid_version_get_stepping,
-x86_cpuid_version_set_stepping, NULL, NULL, NULL);
env->cpuid_apic_id = env->cpu_index;
Reviewed-by: Don Slutz
x86_cpuid_get_model_id,
x86_cpuid_set_model_id, NULL);
-object_property_add(obj, "tsc-frequency", "int",
-x86_cpuid_get_tsc_freq,
-x86_cpuid_set_tsc_freq, NULL, NULL, NULL);
env->cpuid_apic_id = env->cpu_index;
The rest looks correct.
-Don Slutz
abled(void);
bool hyperv_hypercall_available(void);
-bool hyperv_vapic_recommended(void);
-bool hyperv_relaxed_timing_enabled(void);
-int hyperv_get_spinlock_retries(void);
#endif /* QEMU_HW_HYPERV_H */
Reviewed-by: Don Slutz
AT;
}
if (strcmp(ct, "monolithicFlat") &&
strcmp(ct, "twoGbMaxExtentSparse") &&
-Don Slutz
On 12/16/12 12:06, Michael Tokarev wrote:
This is a follow-up to a more-or-less trivial commit,
2e84849aa2cc7f220d3b3668f5f7e3c57bb1b590 . I'm adding
some more context - the whole function in question.
commit 2e84849aa2cc7f220d3b3668f5f7e3c57bb1b590
Author: Don Slutz
Date: Fri Sep 21
On 09/19/12 15:32, Eduardo Habkost wrote:
On Mon, Sep 17, 2012 at 10:00:55AM -0400, Don Slutz wrote:
This is used to set the cpu object's hypervisor level to the default for
Microsoft's Hypervisor.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 10 ++
1 files c
sible live-migrating issues.
Added kvm1 and kvm0 to handle the 2 cases.
Don Slutz (1):
target-i386: Fix default Hypervisor level for hypervisor-vendor=kvm.
target-i386/cpu.c | 17 +
1 files changed, 13 insertions(+), 4 deletions(-)
>From http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
EAX should be KVM_CPUID_FEATURES (0x4001) not 0.
Added hypervisor-vendor=kvm0 to get the older CPUID result. kvm1 selects the
newer one.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 17 +
1 fi
Signed-off-by: Don Slutz
---
target-i386/kvm.c | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index dde9214..bd7753f 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -457,6 +457,25 @@ int
virtual machine):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
QEMU has the value HYPERV_CPUID_MIN defined.
Signed-off-by: Don Slutz
---
target-i386/cpu.h |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git
ows this is KVM_CPUID_SIGNATURE (0x4000).
Signed-off-by: Don Slutz
---
target-i386/kvm.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 895d848..bf27793 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,12
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 44 +++-
target-i386/cpu.h | 14 ++
2 files changed, 57 insertions(+), 1 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 5cf7146..904b08f 100644
--- a/target-i386/cpu.c
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 28
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 5f9866a..0e4a18d 100644
--- a
/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
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 7fc7906..e13a44a 100644
--- a/target-i386/cpu
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 4594693..72a8442 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1991,6 +1991,17 @@ void cpu_x86_cpuid
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 66 +
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 904b08f..7e9c43b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
ows this as KVM_CPUID_SIGNATURE (0x4000) in kvm on linux.
This does not provide vendor support in tcg yet.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 22 ++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index
?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 20 ++--
target-i386/cpu.h |2 ++
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index d8f7e22..5cf7146 100644
--- a/tar
This is used to set the cpu object's hypervisor level to the default for
Microsoft's Hypervisor.
HYPERV_CPUID_MIN (0x4005) is defined in a linux header file.
CPUID_HV_LEVEL_HYPERV (0x4005) is used instead.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 10 ++
t
d-off-by: Don Slutz
---
target-i386/kvm.c | 15 ++-
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index bf27793..dde9214 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,16 +389,21 @@ int kvm_arch_init_vcpu(CPUX86St
This was taken from:
http://article.gmane.org/gmane.comp.emulators.kvm.devel/22643
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 32
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 7e9c43b
e/ff542428%28v=vs.85%29.aspx
And matches want is in target-i386/kvm.c
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 44
target-i386/cpu.h |2 ++
2 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/c
Fix duplicate name (kvmclock => kvm_clock2) also.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 12
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0313cf5..5f9866a 100644
--- a/target-i386/cpu.c
+++ b/target-i
The check using INT_MAX (2147483647) is wrong in this case.
Signed-off-by: Fred Oliveira
Signed-off-by: Don Slutz
---
target-i386/cpu.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index af50a8f..0313cf5 100644
--- a/target
Signed-off-by: Don Slutz
---
target-i386/cpu.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 6dafaeb..e158c54 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -807,6 +807,10 @@ typedef struct CPUX86State
ers.
So split 3 and 4 into 3 to 17. More info in change log.
No code change.
Don Slutz (17):
target-i386: Allow tsc-frequency to be larger then 2.147G
target-i386: Add missing kvm bits.
target-i386: Add Hypervisor level.
target-i386: Add cpu object access routines for Hypervisor level.
tar
On 09/21/12 08:36, Eduardo Habkost wrote:
On Fri, Sep 21, 2012 at 10:39:52AM +0200, Igor Mammedov wrote:
On Thu, 20 Sep 2012 16:03:17 -0400
Don Slutz wrote:
Fix duplicate name (kvmclock => kvm_clock2) also.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 12
1 fi
On 09/21/12 10:18, Eduardo Habkost wrote:
On Thu, Sep 20, 2012 at 04:06:27PM -0400, Don Slutz wrote:
From http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
EAX should be KVM_CPUID_FEATURES (0x4001) not 0.
Added hypervisor-vendor=kvm0 to get the older CPUID result. kvm1
On 09/21/12 16:49, Eduardo Habkost wrote:
On Fri, Sep 21, 2012 at 04:26:58PM -0400, Don Slutz wrote:
On 09/21/12 10:18, Eduardo Habkost wrote:
On Thu, Sep 20, 2012 at 04:06:27PM -0400, Don Slutz wrote:
From http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
EAX should be
is would help reviewers.
So split 3 and 4 into 3 to 17. More info in change log.
No code change.
Don Slutz (17):
target-i386: Allow tsc-frequency to be larger then 2.147G
target-i386: Add missing kvm bits.
target-i386: Add Hypervisor level.
target-i386: Add cpu object access routines for Hy
Fix duplicate name (kvmclock => kvm_clock2) also.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 12
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0313cf5..25ca986 100644
--- a/target-i386/cpu.c
+++ b/target-i
The check using INT_MAX (2147483647) is wrong in this case.
Signed-off-by: Fred Oliveira
Signed-off-by: Don Slutz
---
target-i386/cpu.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index af50a8f..0313cf5 100644
--- a/target
This was taken from:
http://article.gmane.org/gmane.comp.emulators.kvm.devel/22643
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 32
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 2423090
Signed-off-by: Don Slutz
---
target-i386/kvm.c | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index f8a5177..ff82034 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -454,6 +454,25 @@ int
ows this as KVM_CPUID_SIGNATURE (0x4000) in kvm on linux.
This does not provide vendor support in tcg yet.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 27 +++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu
?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.c |8
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index ab65594..bfe7b27 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 66 +
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 478b671..2423090 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
e/ff542428%28v=vs.85%29.aspx
And matches want is in target-i386/kvm.c
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 45 +
target-i386/cpu.h |2 ++
2 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/c
Signed-off-by: Don Slutz
---
target-i386/cpu.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index ebb3498..254ddef 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -812,6 +812,10 @@ typedef struct CPUX86State
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c |8
target-i386/cpu.h |2 ++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 7b31de9..e5deca2 100644
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 25ca986..7b31de9 100644
--- a
d-off-by: Don Slutz
---
target-i386/kvm.c | 12 +++-
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 8462c75..f8a5177 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,16 +389,18 @@ int kvm_arch_init_vcpu(CPUX86St
ows this is KVM_CPUID_SIGNATURE (0x4000).
Signed-off-by: Don Slutz
---
target-i386/kvm.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 895d848..8462c75 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,12
/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 3152a4e..11730b2 100644
--- a/target-i386/cpu
virtual machine):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
QEMU has the value HYPERV_CPUID_MIN defined.
Signed-off-by: Don Slutz
---
target-i386/cpu.h |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 57 +++-
target-i386/cpu.h | 19 +
2 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index bfe7b27..478b671 100644
--- a/target
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index e8a21b5..12bd5d4 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -1999,6 +1999,17 @@ void cpu_x86_cpuid
On 09/21/12 17:53, Eduardo Habkost wrote:
On Fri, Sep 21, 2012 at 05:28:27PM -0400, Don Slutz wrote:
On 09/21/12 16:49, Eduardo Habkost wrote:
On Fri, Sep 21, 2012 at 04:26:58PM -0400, Don Slutz wrote:
On 09/21/12 10:18, Eduardo Habkost wrote:
On Thu, Sep 20, 2012 at 04:06:27PM -0400, Don
On 09/22/12 09:18, Blue Swirl wrote:
On Sat, Sep 22, 2012 at 12:13 AM, Don Slutz wrote:
Also known as Paravirtualization CPUIDs.
This is primarily done so that the guest will think it is running
under vmware when hypervisor-vendor=vmware is specified as a
property of a cpu.
Please use
uld help reviewers.
So split 3 and 4 into 3 to 17. More info in change log.
No code change.
Don Slutz (16):
target-i386: Add missing kvm bits.
target-i386: Add Hypervisor level.
target-i386: Add cpu object access routines for Hypervisor level.
target-i386: Add x86_set_hyperv.
target-i3
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 12
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 0313cf5..25ca986 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -87,10 +87,14 @@ static const char
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index b77dbfe..1d81f00 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -2001,6 +2001,17 @@ void cpu_x86_cpuid
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 66 +
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 9ab29a7..8bb20c7 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
Signed-off-by: Don Slutz
---
target-i386/kvm.c | 19 +++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index f8a5177..ff82034 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -454,6 +454,25 @@ int
These are modeled after x86_cpuid_get_xlevel and x86_cpuid_set_xlevel.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 29 +
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 25ca986..451de12 100644
--- a
virtual machine):
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
QEMU has the value HYPERV_CPUID_MIN defined.
Signed-off-by: Don Slutz
---
target-i386/cpu.h |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git
/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458
Signed-off-by: Don Slutz
---
target-i386/cpu.h |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 3152a4e..11730b2 100644
--- a/target-i386/cpu
This is used to set the cpu object's hypervisor level to the default for
Microsoft's Hypervisor.
Signed-off-by: Don Slutz
---
target-i386/cpu.c |9 +
target-i386/cpu.h |2 ++
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 57 +++-
target-i386/cpu.h | 19 +
2 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index a929b64..9ab29a7 100644
--- a/target
ows this as KVM_CPUID_SIGNATURE (0x4000) in kvm on linux.
This does not provide vendor support in tcg yet.
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 27 +++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu
e/ff542428%28v=vs.85%29.aspx
And matches want is in target-i386/kvm.c
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 46 ++
target-i386/cpu.h |2 ++
2 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/c
ows this is KVM_CPUID_SIGNATURE (0x4000).
Signed-off-by: Don Slutz
---
target-i386/kvm.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 895d848..8462c75 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,12
d-off-by: Don Slutz
---
target-i386/kvm.c | 12 +++-
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 8462c75..f8a5177 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -389,16 +389,18 @@ int kvm_arch_init_vcpu(CPUX86St
This was taken from:
http://article.gmane.org/gmane.comp.emulators.kvm.devel/22643
Signed-off-by: Don Slutz
---
target-i386/cpu.c | 32
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 8bb20c7
1 - 100 of 547 matches
Mail list logo