[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initializatio
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code |
Date: |
Thu, 24 May 2012 15:45:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0 |
Am 24.05.2012 15:10, schrieb Igor Mammedov:
> On 05/23/2012 11:26 PM, Peter Maydell wrote:
>> On 23 May 2012 22:09, Igor Mammedov<address@hidden> wrote:
>>> For cpu-hotplug it was suggested to use device_add/del
>>> interface for it. To do so in a generalized way hot-plugged cpu
>>> should follow general QOM object creation sequence, i.e.
>>> - create new cpu instance
>>> - set properties
>>> - realize instance
>>> without creating precedent of special case for cpus in device_add/del
>>> if possible. So goal is to have a self-sufficient cpu object that
>>> doesn't require external hooks to create/initialize it. It looks
>>> possible do so for target-i386 at least.
>>
>> I think your self-sufficient CPU object should probably be a
>> container QOM object which contains the CPU core itself and
>> the APIC device. Then the container object's initialisation
>> can map the APIC device.
>
> For x86 it would be artificial thing without a real hardware to
> model after, that would needlessly complicate code and interface.
> I'd rather avoid this.
>
> Meanwhile I've found only two devices that do mapping inside
> device's initfn :(
>
> hw/lm32_sys.c
> hw/bonito.c
>
> and lm32_sys has comment:
> /* Note: This device is not created in the board initialization,
> * instead it has to be added with the -device parameter. Therefore,
> * the device maps itself. */
>
> So for some devices it's possible to do so.
Simply put: Doing the mmio_map after qdev init is historical and no
reason to keep doing so. It breaks the desired late-realize model.
I believe Anthony's controversial series on GitHub with the
"boilerplate" accessors that Peter so disliked tried to fix this?
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH qom-next 3/6] target-i386: add cpu-model property to x86_cpu, (continued)
- [Qemu-devel] [PATCH qom-next 3/6] target-i386: add cpu-model property to x86_cpu, Igor Mammedov, 2012/05/23
- [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Igor Mammedov, 2012/05/23
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Peter Maydell, 2012/05/23
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Jan Kiszka, 2012/05/23
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Igor Mammedov, 2012/05/23
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Peter Maydell, 2012/05/23
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Igor Mammedov, 2012/05/24
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Peter Maydell, 2012/05/24
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Jan Kiszka, 2012/05/24
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code, Igor Mammedov, 2012/05/24
- Re: [Qemu-devel] [PATCH qom-next 4/6] pc: move apic_mapped initialization into common apic init code,
Andreas Färber <=
[Qemu-devel] [PATCH qom-next 6/6] target-i386: move reset callback to cpu.c, Igor Mammedov, 2012/05/23