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 <[email protected]>
> Cc: Igor Mammedov <[email protected]>
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