qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/6] refactor PC machine, i440fx and piix3 to ta


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 0/6] refactor PC machine, i440fx and piix3 to take advantage of QOM
Date: Mon, 26 Mar 2012 17:09:12 +0000

On Mon, Mar 26, 2012 at 02:06, Wanpeng Li <address@hidden> wrote:
>
> From: Anthony Liguori <address@hidden>
>
>
> This series aggressively refactors the PC machine initialization to be more
> modelled and less ad-hoc.  The highlights of this series are:

Please fix coding style while moving.

>  1) Things like -m and -bios-name are now device model properties
>
>  2) The i440fx and piix3 are now modelled in a thorough fashion
>
>  3) Most of the chipset features of the piix3 are modelled through composition
>
>  4) i440fx_init is trivialized to creating devices and setting properties
>
>  5) convert MemoryRegion to QOM
>
>  6) convert PCI host bridge to QOM
>
> The point (4) is the most important one.  As we refactor in this fashion,
> we should quickly get to the point where machine->init disappears completely 
> in
> favor of just creating a handful of devices.
>
> The two stage initialization of QOM is important here.  instance_init() is 
> when
> composed devices are created which means that after you've created a device, 
> all
> of its children are visible in the device model.  This lets you set properties
> of the parent and its children.
>
> realize() (which is still called DeviceState::init today) will be called right
> before the guest starts up for the first time.
>
> Signed-off-by: Anthony Liguori <address@hidden>
> Signed-off-by: Wanpeng Li <address@hidden>
>
> ---
>  Makefile.target     |    3 +-
>  hw/hpet.c           |   39 +---
>  hw/hpet_emul.h      |   41 +++
>  hw/i440fx.c         |  431 ++++++++++++++++++++++++++
>  hw/i440fx.h         |   78 +++++
>  hw/i8254_internal.h |    2 +-
>  hw/mc146818rtc.c    |   26 --
>  hw/mc146818rtc.h    |   29 ++
>  hw/pc.c             |  838 
> +++++++++++++++++++++++++++++++++++++++++++++------
>  hw/pc.h             |   46 +---
>  hw/pc_piix.c        |  762 ----------------------------------------------
>  hw/pci_host.c       |   26 ++
>  hw/pci_host.h       |    5 +
>  hw/piix3.c          |  274 +++++++++++++++++
>  hw/piix3.h          |   79 +++++
>  hw/piix_pci.c       |  600 ------------------------------------
>  memory.c            |   94 +++++--
>  memory.h            |    8 +
>  18 files changed, 1795 insertions(+), 1586 deletions(-)
>  create mode 100644 hw/i440fx.c
>  create mode 100644 hw/i440fx.h
>  delete mode 100644 hw/pc_piix.c
>  create mode 100644 hw/piix3.c
>  create mode 100644 hw/piix3.h
>  delete mode 100644 hw/piix_pci.c
> --
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]