提交 63e886eb 编写于 作者: A Andreas Färber

target-i386: Add property getter for CPU model-id

Signed-off-by: NAndreas Färber <afaerber@suse.de>
Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
上级 35112e41
...@@ -711,6 +711,21 @@ static void x86_cpuid_version_set_stepping(Object *obj, Visitor *v, ...@@ -711,6 +711,21 @@ static void x86_cpuid_version_set_stepping(Object *obj, Visitor *v,
env->cpuid_version |= value & 0xf; env->cpuid_version |= value & 0xf;
} }
static char *x86_cpuid_get_model_id(Object *obj, Error **errp)
{
X86CPU *cpu = X86_CPU(obj);
CPUX86State *env = &cpu->env;
char *value;
int i;
value = g_malloc(48 + 1);
for (i = 0; i < 48; i++) {
value[i] = env->cpuid_model[i >> 2] >> (8 * (i & 3));
}
value[48] = '\0';
return value;
}
static void x86_cpuid_set_model_id(Object *obj, const char *model_id, static void x86_cpuid_set_model_id(Object *obj, const char *model_id,
Error **errp) Error **errp)
{ {
...@@ -1585,7 +1600,7 @@ static void x86_cpu_initfn(Object *obj) ...@@ -1585,7 +1600,7 @@ static void x86_cpu_initfn(Object *obj)
x86_cpuid_version_get_stepping, x86_cpuid_version_get_stepping,
x86_cpuid_version_set_stepping, NULL, NULL, NULL); x86_cpuid_version_set_stepping, NULL, NULL, NULL);
object_property_add_str(obj, "model-id", object_property_add_str(obj, "model-id",
NULL, x86_cpuid_get_model_id,
x86_cpuid_set_model_id, NULL); x86_cpuid_set_model_id, NULL);
env->cpuid_apic_id = env->cpu_index; env->cpuid_apic_id = env->cpu_index;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册