X86 queue, 2015-04-27 (v2)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABCAAGBQJVPoMfAAoJECgHk2+YTcWmzuQQAIOf4o/0t/lV87uR1/smP+E/ mvdWm9FiaRXkc0SYrIdpNoPyyMfNnzwDocywIaMcMNEzxMe1oP/objm3yWuOpeeH Q26oMt/phXsPBRl5vxhAQ29LxuCagDivRFyTUxa7E8/D9GKmVFE6/orwHeMfwUEs frILNM5lCLiXk4dgeQPW9xWb8iAm/RVRWFRIya5HVh51PjjsN/iLQDtSLM5Ivvvn Pn5+cspcjD6bjM3tGiXYJZtUdoKh/7Dc8QLHhOOGd0XGysnfEbsmNQbk5Kl62PL/ 3Ug0yQWpecM5IrmPWi/Omh2YJNdTbrjsOMaLWZv2LtWl/o8mD51rPJeK9Pfym/26 dsQgcYK/0GowEOxb/PUkWoX7eNziUyKryksgtdLxyrcllO5QKhrkTibDh8UOKYwI X6qEqrhCJ8pN6GhFJYK/2ieMajOoa3TE7WE5CenEPFyEmDqQkKWrjUyc0YZjcZ98 cHJESCyXxaetzpwt17WT+vaEwpKyj7RBBS55fuV7S6+QRpWewyvxsKcEe7nfHDPe k7VOkG7YD0LX9dnoFGLvHbxms/QUji5K2rprvZYdA5PNywTwRsyW58XR/G1jOU2Q oDkLL+B52A3+cBUz4n7yrP4GumvxTR9mfOGbvdKXRYHyJka74aoGecPblAVz3ew4 UTgqXmdlJzA5SzyPObcq =t4Wd -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into staging X86 queue, 2015-04-27 (v2) # gpg: Signature made Mon Apr 27 19:42:39 2015 BST using RSA key ID 984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/x86-pull-request: target-i386: Remove AMD feature flag aliases from CPU model table target-i386: X86CPU::xlevel2 QOM property target-i386: Make "level" and "xlevel" properties static qemu-config: Accept empty option values MAINTAINERS: Change status of X86 to Maintained MAINTAINERS: Add myself to X86 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
84cbd63f87
@ -172,7 +172,8 @@ F: hw/unicore32/
|
||||
X86
|
||||
M: Paolo Bonzini <pbonzini@redhat.com>
|
||||
M: Richard Henderson <rth@twiddle.net>
|
||||
S: Odd Fixes
|
||||
M: Eduardo Habkost <ehabkost@redhat.com>
|
||||
S: Maintained
|
||||
F: target-i386/
|
||||
F: hw/i386/
|
||||
|
||||
|
@ -688,7 +688,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
.features[FEAT_1_ECX] =
|
||||
CPUID_EXT_SSE3 | CPUID_EXT_CX16 | CPUID_EXT_POPCNT,
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) |
|
||||
CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX,
|
||||
.features[FEAT_8000_0001_ECX] =
|
||||
CPUID_EXT3_LAHF_LM | CPUID_EXT3_SVM |
|
||||
@ -711,7 +710,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_CX16 |
|
||||
CPUID_EXT_POPCNT,
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) |
|
||||
CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX |
|
||||
CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT | CPUID_EXT2_MMXEXT |
|
||||
CPUID_EXT2_FFXSR | CPUID_EXT2_PDPE1GB | CPUID_EXT2_RDTSCP,
|
||||
@ -769,7 +767,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
CPUID_EXT_SSE3 | CPUID_EXT_CX16,
|
||||
/* Missing: CPUID_EXT2_PDPE1GB, CPUID_EXT2_RDTSCP */
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) |
|
||||
CPUID_EXT2_LM | CPUID_EXT2_SYSCALL | CPUID_EXT2_NX,
|
||||
/* Missing: CPUID_EXT3_LAHF_LM, CPUID_EXT3_CMP_LEG, CPUID_EXT3_EXTAPIC,
|
||||
CPUID_EXT3_CR8LEG, CPUID_EXT3_ABM, CPUID_EXT3_SSE4A,
|
||||
@ -805,8 +802,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
CPUID_MTRR | CPUID_CLFLUSH | CPUID_MCA | CPUID_PSE36,
|
||||
.features[FEAT_1_ECX] =
|
||||
CPUID_EXT_SSE3,
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES,
|
||||
.features[FEAT_8000_0001_ECX] =
|
||||
0,
|
||||
.xlevel = 0x80000008,
|
||||
@ -888,7 +883,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
PPRO_FEATURES | CPUID_PSE36 | CPUID_VME | CPUID_MTRR |
|
||||
CPUID_MCA,
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) |
|
||||
CPUID_EXT2_MMXEXT | CPUID_EXT2_3DNOW | CPUID_EXT2_3DNOWEXT,
|
||||
.xlevel = 0x80000008,
|
||||
},
|
||||
@ -912,7 +906,6 @@ static X86CPUDefinition builtin_x86_defs[] = {
|
||||
CPUID_EXT_SSE3 | CPUID_EXT_MONITOR | CPUID_EXT_SSSE3 |
|
||||
CPUID_EXT_MOVBE,
|
||||
.features[FEAT_8000_0001_EDX] =
|
||||
(PPRO_FEATURES & CPUID_EXT2_AMD_ALIASES) |
|
||||
CPUID_EXT2_NX,
|
||||
.features[FEAT_8000_0001_ECX] =
|
||||
CPUID_EXT3_LAHF_LM,
|
||||
@ -1618,38 +1611,6 @@ static void x86_cpuid_version_set_stepping(Object *obj, Visitor *v,
|
||||
env->cpuid_version |= value & 0xf;
|
||||
}
|
||||
|
||||
static void x86_cpuid_get_level(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(obj);
|
||||
|
||||
visit_type_uint32(v, &cpu->env.cpuid_level, name, errp);
|
||||
}
|
||||
|
||||
static void x86_cpuid_set_level(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(obj);
|
||||
|
||||
visit_type_uint32(v, &cpu->env.cpuid_level, name, errp);
|
||||
}
|
||||
|
||||
static void x86_cpuid_get_xlevel(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(obj);
|
||||
|
||||
visit_type_uint32(v, &cpu->env.cpuid_xlevel, name, errp);
|
||||
}
|
||||
|
||||
static void x86_cpuid_set_xlevel(Object *obj, Visitor *v, void *opaque,
|
||||
const char *name, Error **errp)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(obj);
|
||||
|
||||
visit_type_uint32(v, &cpu->env.cpuid_xlevel, name, errp);
|
||||
}
|
||||
|
||||
static char *x86_cpuid_get_vendor(Object *obj, Error **errp)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(obj);
|
||||
@ -2109,7 +2070,7 @@ static void x86_cpu_load_def(X86CPU *cpu, X86CPUDefinition *def, Error **errp)
|
||||
object_property_set_int(OBJECT(cpu), def->model, "model", errp);
|
||||
object_property_set_int(OBJECT(cpu), def->stepping, "stepping", errp);
|
||||
object_property_set_int(OBJECT(cpu), def->xlevel, "xlevel", errp);
|
||||
env->cpuid_xlevel2 = def->xlevel2;
|
||||
object_property_set_int(OBJECT(cpu), def->xlevel2, "xlevel2", errp);
|
||||
cpu->cache_info_passthrough = def->cache_info_passthrough;
|
||||
object_property_set_str(OBJECT(cpu), def->model_id, "model-id", errp);
|
||||
for (w = 0; w < FEATURE_WORDS; w++) {
|
||||
@ -2900,12 +2861,6 @@ static void x86_cpu_initfn(Object *obj)
|
||||
object_property_add(obj, "stepping", "int",
|
||||
x86_cpuid_version_get_stepping,
|
||||
x86_cpuid_version_set_stepping, NULL, NULL, NULL);
|
||||
object_property_add(obj, "level", "int",
|
||||
x86_cpuid_get_level,
|
||||
x86_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);
|
||||
@ -2998,6 +2953,9 @@ static Property x86_cpu_properties[] = {
|
||||
DEFINE_PROP_BOOL("check", X86CPU, check_cpuid, false),
|
||||
DEFINE_PROP_BOOL("enforce", X86CPU, enforce_cpuid, false),
|
||||
DEFINE_PROP_BOOL("kvm", X86CPU, expose_kvm, true),
|
||||
DEFINE_PROP_UINT32("level", X86CPU, env.cpuid_level, 0),
|
||||
DEFINE_PROP_UINT32("xlevel", X86CPU, env.cpuid_xlevel, 0),
|
||||
DEFINE_PROP_UINT32("xlevel2", X86CPU, env.cpuid_xlevel2, 0),
|
||||
DEFINE_PROP_END_OF_LIST()
|
||||
};
|
||||
|
||||
|
@ -413,7 +413,9 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname)
|
||||
opts = qemu_opts_create(list, NULL, 0, &error_abort);
|
||||
continue;
|
||||
}
|
||||
if (sscanf(line, " %63s = \"%1023[^\"]\"", arg, value) == 2) {
|
||||
value[0] = '\0';
|
||||
if (sscanf(line, " %63s = \"%1023[^\"]\"", arg, value) == 2 ||
|
||||
sscanf(line, " %63s = \"\"", arg) == 1) {
|
||||
/* arg = value */
|
||||
if (opts == NULL) {
|
||||
error_report("no group defined");
|
||||
|
Loading…
Reference in New Issue
Block a user