[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-cpu v2 1/7] target-i386: Inline APIC cpu_env
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu v2 1/7] target-i386: Inline APIC cpu_env property setting |
Date: |
Tue, 16 Oct 2012 18:04:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121009 Thunderbird/16.0 |
Il 16/10/2012 18:02, Andreas Färber ha scritto:
> 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 <address@hidden>
>> Cc: Igor Mammedov <address@hidden>
>
> Paolo, are you happy with getting rid of the pointer property this way?
I wouldn't call it "getting rid of the pointer property", more like
sweeping it under a rug... :) But it is okay with the TODO comment.
Paolo
> 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",
>>
>
- [Qemu-devel] [PATCH qom-cpu v2 0/7] QOM CPUState, part 4a: CPU_COMMON, continued, Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 3/7] target-i386: Pass X86CPU to cpu_x86_load_seg_cache_sipi(), Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 1/7] target-i386: Inline APIC cpu_env property setting, Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 5/7] cpus: Pass CPUState to qemu_cpu_kick_thread(), Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 4/7] cpus: Pass CPUState to qemu_cpu_is_self(), Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 2/7] apic: Store X86CPU in APICCommonState, Andreas Färber, 2012/10/11
- [Qemu-devel] [PATCH qom-cpu v2 7/7] cpu: Move stop field to CPUState, Andreas Färber, 2012/10/11