[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v1 00/20] Refactor PC machine to take advantage
From: |
Hu Tao |
Subject: |
[Qemu-devel] [RFC PATCH v1 00/20] Refactor PC machine to take advantage of QOM |
Date: |
Wed, 22 May 2013 13:33:04 +0800 |
This is a re-do of original series posted by Anthony Liguori at:
http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg03501.html
I post this series because:
1. there are no news from Anthony since the first version for more than a year
2. Li Wanfeng di some work on the refactor last year, but no news for half a
year
3. memory hotplug requires i440fx pmc refactor if I'm getting it right
(http://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02693.html)
Problems:
1. isapc is broken
2. too many code duplication between piix and ich
3. others
TODO:
1. make a proper ISA model
2. a base class PCSuperIO that piix and ich can inherit from. isapc may also
be modelled with PCSuperIO. But there was argument on this.
(http://lists.gnu.org/archive/html/qemu-devel/2012-01/msg03626.html)
3. a base class MemoryController that i440fx-pmc and q35-mch can inherit from
4. others
Hu Tao (20):
i440fx: remove unused parameter i440fx_state of i440fx_init.
i440fx: rename i440FX to i440FX-PMC
i440fx: rename i440FX-pcihost to i440FX
i440fx: prepare for composition
piix3: make PIIX3-xen a subclass of PIIX3
piix3: prepare for composition
piix3: create piix3 through composition.
rtc: remove rtc_set_date
ich9: function rename
piix3,ich9: create the HPET through composition
add rtc_set_irq
piix3,ich9: create the RTC through composition
piix3,ich9: create pit through composition
piix3,ich9: create pc speaker through composition
i440fx pmc: create pmc through comosition
i440fx-pmc: calculate PCI memory hole directly
i440fx-pmc: create pci address space
q35-mch: create pci address space
i440fx-pmc: move ram initialization into i440fx-pmc
q35-mch: move ram initialization into q35-mch
hw/i386/pc.c | 71 +------
hw/i386/pc_piix.c | 50 ++---
hw/i386/pc_q35.c | 35 ++--
hw/isa/lpc_ich9.c | 87 +++++++-
hw/pci-host/piix.c | 447 ++++++++++++++++++++++++++++-------------
hw/pci-host/q35.c | 48 ++++-
hw/timer/hpet.c | 2 +-
hw/timer/mc146818rtc.c | 8 +-
include/hw/i386/ich9.h | 5 +
include/hw/i386/pc.h | 20 +-
include/hw/pci-host/q35.h | 10 +-
include/hw/timer/hpet.h | 3 +
include/hw/timer/i8254.h | 3 +
include/hw/timer/mc146818rtc.h | 2 +-
14 files changed, 504 insertions(+), 287 deletions(-)
--
1.8.2.3
- [Qemu-devel] [RFC PATCH v1 00/20] Refactor PC machine to take advantage of QOM,
Hu Tao <=
- [Qemu-devel] [RFC PATCH v1 01/20] i440fx: remove unused parameter i440fx_state of i440fx_init., Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 06/20] piix3: prepare for composition, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 09/20] ich9: function rename, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 05/20] piix3: make PIIX3-xen a subclass of PIIX3, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 04/20] i440fx: prepare for composition, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 03/20] i440fx: rename i440FX-pcihost to i440FX, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 18/20] q35-mch: create pci address space, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 02/20] i440fx: rename i440FX to i440FX-PMC, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 10/20] piix3, ich9: create the HPET through composition, Hu Tao, 2013/05/22
- [Qemu-devel] [RFC PATCH v1 12/20] piix3, ich9: create the RTC through composition, Hu Tao, 2013/05/22