Am 12.10.2012 03:26, schrieb Andreas Färber: > This prepares for changing the variable type from void*. > > Signed-off-by: Andreas Färber <afaer...@suse.de> > Cc: Igor Mammedov <imamm...@redhat.com>
Paolo, are you happy with getting rid of the pointer property this way? Jan, are you okay with accessing APICCommonState in target-i386/cpu.c as an interim solution? Andreas > --- > hw/apic_common.c | 1 - > target-i386/cpu.c | 5 ++++- > 2 Dateien geändert, 4 Zeilen hinzugefügt(+), 2 Zeilen entfernt(-) > > diff --git a/hw/apic_common.c b/hw/apic_common.c > index 371f95d..a26a631 100644 > --- a/hw/apic_common.c > +++ b/hw/apic_common.c > @@ -368,7 +368,6 @@ static const VMStateDescription vmstate_apic_common = { > > static Property apic_properties_common[] = { > DEFINE_PROP_UINT8("id", APICCommonState, id, -1), > - DEFINE_PROP_PTR("cpu_env", APICCommonState, cpu_env), > DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, > VAPIC_ENABLE_BIT, > true), > DEFINE_PROP_END_OF_LIST(), > diff --git a/target-i386/cpu.c b/target-i386/cpu.c > index e307b4e..0cce910 100644 > --- a/target-i386/cpu.c > +++ b/target-i386/cpu.c > @@ -41,6 +41,7 @@ > #ifndef CONFIG_USER_ONLY > #include "hw/xen.h" > #include "hw/sysbus.h" > +#include "hw/apic_internal.h" > #endif > > /* feature flags taken from "Intel Processor Identification and the CPUID > @@ -1884,6 +1885,7 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error **errp) > #ifndef CONFIG_USER_ONLY > static int apic_mapped; > CPUX86State *env = &cpu->env; > + APICCommonState *apic; > const char *apic_type = "apic"; > > if (kvm_irqchip_in_kernel()) { > @@ -1902,7 +1904,8 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error **errp) > OBJECT(env->apic_state), NULL); > qdev_prop_set_uint8(env->apic_state, "id", env->cpuid_apic_id); > /* TODO: convert to link<> */ > - qdev_prop_set_ptr(env->apic_state, "cpu_env", env); > + apic = APIC_COMMON(env->apic_state); > + apic->cpu_env = env; > > if (qdev_init(env->apic_state)) { > error_setg(errp, "APIC device '%s' could not be initialized", > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg