[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH 6/6] apic: avoid using CPUState internals
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] Re: [PATCH 6/6] apic: avoid using CPUState internals |
Date: |
Mon, 07 Jun 2010 08:35:39 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> On 06/05/2010 11:31 PM, Blue Swirl wrote:
>> Use only an opaque CPUState pointer and move the actual CPUState
>> contents handling to cpu.h and cpuid.c.
>>
>> Set env->halted in pc.c and add a function to get the local APIC state
>> of the current CPU for the MMIO.
>>
>> Signed-off-by: Blue Swirl<address@hidden>
>> ---
>> hw/apic.c | 40 +++++++++++++++-------------------------
>> hw/apic.h | 9 ++++++++-
>> hw/pc.c | 12 +++++++++++-
>> target-i386/cpu.h | 27 ++++++++++++++++-----------
>> target-i386/cpuid.c | 6 ++++++
>> 5 files changed, 56 insertions(+), 38 deletions(-)
>>
>> diff --git a/hw/apic.c b/hw/apic.c
>> index 91c8d93..332c66e 100644
>> --- a/hw/apic.c
>> +++ b/hw/apic.c
>> @@ -95,7 +95,7 @@
>> #define MSI_ADDR_SIZE 0x100000
>>
>> struct APICState {
>> - CPUState *cpu_env;
>> + void *cpu_env;
>
> I proposed having an opaque CPUState type in hw/ but it was
> rejected. But I don't think using a void pointer is any better.
Using void * to hide implementation details of a monomorphic type is bad
style. That's what incomplete types are for. Lets the compiler check
types for you, and lets the debugger do a better job.