qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 00/26] split out piix specific part from pc emulator


From: Isaku Yamahata
Subject: [Qemu-devel] [PATCH 00/26] split out piix specific part from pc emulator and some clean ups
Date: Fri, 14 May 2010 16:28:58 +0900

patch series description:
This patch series is for spliting out piix specific part from pc emulator
to make it easier to implement other pc chipset emulator.

I observed that make was confused not to rebuild files sometimes due to
splitting up a file into files. It results in duplicated/undefined symbols.
In that case, 'make clean;make' will fix it.


Blue, your patches were combied into 21/26, and 22/26. Please check it.
Your patches to acpi.c had some issues. I fixed them in this patch series.

1/2 acpi: remove static pm_state:
  The first argument, dev, of piix4_device_hotplug() is not
  PIIX4PMState device, but hot plugged device.
  So the container_of() doesn't make sense.
2/2 acpi: remove static gpe and pci0_status variables   
  The call back argument to pge_readb(), gpe_writeb() is struct gpe_regs.
  Not PIIX4PMState. 
  The callback argument pcihotplug_read(), pcihotplug_write() is
  struct pci_status. Not PIIX4PMState.
  Those argument type is void*, so compiler didn't catch it.

thanks,

Changes from V12:
- 2/26 acpi: split out apm register emulation from acpi.c
  The patch originally convert CMOS S3 code to qemu_irq. However
  the conversion is already done by Blue Swirl. So the patch was simplified.
- 22/26 pci hotadd, acpi_piix4: remove global variables
  Minor style fix according to Blue's patch.
- rebased to 5acd0646b6033d40ef5d0ae06338cc354108f640

Changes from V11:
- s/pc_smbus/pm_smbus/g, s/pc_apm/apm/g and so on
  because it isn't pc specifc. mips also uses it.
- No logic changes.

Changes from V10:
- pass DeviceState* to pc_smbus_init(), now info qtree shows smbus.
- change pci hotplug argument from void * to DeviceState*.

Changes from V9:
- rebased 502e64fe23f19c086d42f6178cdda19e58996080
- use qemu_irq to remove global variables, rtc_state
- make rtc_xxx functions accept/return ISADevice and related clean ups
- pci hot plug clean up
- removed #ifdef DEBUG patches.


Changes from V8:
- make rtc_xxx functions accept/return ISADevice.
- move up ioapic initalization patch.
- fixed up copyright notice.

Changes from V7:
- rebased to fe0d61231eb6be6a83c54f4a2795f924ee963f8f

Changes from v6:
- rebased to 731c54f86988d3f28268f184fabfe9b2a32fb5d3

Changes from v5:
- rebased 0.11.0-rc0
- changed qemu_system_powerdown_register() to call
  qemu_system_shutdown_request() if qemu_system_shutdown() is called before
  registering.

Changes from v4:
- fix version number.
- rebased anthony's staging tree whose latest change set is
  62969268f876c547ee64da6d60e0f363e0f1df75

Changes from v3:
- move qemu_system_powerdown() in vl.c and more generic
  following the comment by Marcelo Tosatti <address@hidden>
  acpi.c: make qemu_system_powerdown() piix independent.
- define cmos_set_s3_resume_init() and cmos_set_s3_resume() in pc.c
  even if TARGET_I386 isn't defined following th ecommit by
  Paolo Bonzini <address@hidden>
  pc.c: remove a global variable, RTCState *rtc_state.
- minor compilation fixes

Changes from v2:
- clean up pc_pci_device_init() not to use unnecessary braces.

Changes from v1:
- make patches full bisectable
- typo s/allocte/allocate/
- some minor fixes
- dropped a merged patch

Isaku Yamahata (26):
  acpi: split out piix4 smbus routines from acpi.c into pm_smbus.c
  acpi: split out apm register emulation from acpi.c
  acpi: add acpi constants from linux header files and use them.
  acpi: split acpi.c into the common part and the piix4 part.
  pc: initialize ioapic before use.
  pc, i440fx: Make smm enable/disable function i440fx independent.
  pc: make an unnecessary global variable, pit, local.
  pc: remove a global variable, floppy_controller.
  pc: remove global variable rtc_state by using qemu_irq.
  pc: introduce a function to allocate cpu irq.
  pc: make pc_init1() not refer ferr_irq directly.
  pc: split out cpu initialization from pc_init1() into pc_cpus_init().
  pc: split out memory allocation from pc_init1() into pc_memory_init()
  pc: split out vga initialization from pc_init1() into pc_vga_init().
  pc: split out basic device init from pc_init1() into
    pc_basic_device_init()
  pc: split out pci device init from pc_init1() into
    pc_pci_device_init()
  pc: split out piix specific part from pc.c into pc_piix.c
  pc: move rtc declarations from pc.h into a dedicated header file.
  rtc: make rtc_xxx accept/return ISADevice instead of RTCState.
  acpi_piix4: qdevfy.
  pci hotplug: add argument to pci hot plug callback.
  pci hotadd, acpi_piix4: remove global variables
  pm_smbus: remove #ifdef DEBUG.
  acpi_piix4: remove #ifdef DEBUG.
  apm: remove #ifdef DEBUG.
  mc146818rtc: remove #ifdef DEBUG_CMOS.

 Makefile.target  |    2 +
 hw/acpi.c        |  743 +-----------------------------------------------------
 hw/acpi.h        |   78 ++++++
 hw/acpi_piix4.c  |  602 +++++++++++++++++++++++++++++++++++++++++++
 hw/apm.c         |   87 +++++++
 hw/apm.h         |   22 ++
 hw/fdc.h         |    5 +
 hw/mc146818rtc.c |   44 ++--
 hw/mc146818rtc.h |   10 +
 hw/mips_jazz.c   |    1 +
 hw/mips_malta.c  |    3 +-
 hw/mips_r4k.c    |    3 +-
 hw/pc.c          |  423 +++++++------------------------
 hw/pc.h          |   48 +++-
 hw/pc_piix.c     |  316 +++++++++++++++++++++++
 hw/pci.c         |    8 +-
 hw/pci.h         |    4 +-
 hw/piix_pci.c    |    5 +-
 hw/pm_smbus.c    |  181 +++++++++++++
 hw/pm_smbus.h    |   21 ++
 hw/ppc_prep.c    |    1 +
 21 files changed, 1500 insertions(+), 1107 deletions(-)
 create mode 100644 hw/acpi.h
 create mode 100644 hw/acpi_piix4.c
 create mode 100644 hw/apm.c
 create mode 100644 hw/apm.h
 create mode 100644 hw/mc146818rtc.h
 create mode 100644 hw/pc_piix.c
 create mode 100644 hw/pm_smbus.c
 create mode 100644 hw/pm_smbus.h




reply via email to

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