[Top][All Lists]

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

[Qemu-devel] [PATCH 0/5] piix_pci cleanup

From: Juan Quintela
Subject: [Qemu-devel] [PATCH 0/5] piix_pci cleanup
Date: Fri, 21 Aug 2009 19:36:14 +0200


This series:
- split piix4 from piix_pci.  The only shared code where piix_save/load, i.e.
  almost nothing.  Once there, compile piix4.o only for mips (it was not used
  anywhere else).
- Move global variables to PCII440FXState.  Nice and clean until....
- pci_irq_levels: This is great:
  * it is saved/loaded from i440fx
  * it is cleaned during reset in piix3
  * it is used in piix3_set_irq, that don't receive neither i440fx nor
    piix state, it needs to be a global variable. (created a global link
    until a better solution appear).

I looked where to "hide" pci_irq_levels and piix3_dev (both needed in
piix3_set_irq), and didn't found where to pass them, out of:
- hack i8259 to hide it into PicState2 (that one got passed through the pic)
  ugly for words, but will work
- try to add <something> at setup_irq time, but at that point we have:
  * opaque -> pci_dev of device that we are working with
  * from there we can get to the bus that the device is attached to,
    but no way to go from there to the Host bridge (that is what we wanted
    in the 1st place)

Notice that this is needed for both pc and mips_malta.c

Ideas on where to hide a pci_dev inside a bus?

Later, Juan.

Juan Quintela (5):
  piix4 don't use pci_irq_levels at all
  Split piix4 support from piix_pci.c
  Use PCII440FXState instead of generic PCIDevice
  Move smm_enabled and isa_memory_mappings to PCII440FXState
  Cleanup of pci_irq_levels belong to i440fx

 Makefile.target |    2 +-
 hw/pc.c         |    2 +-
 hw/pc.h         |   10 +++-
 hw/piix4.c      |  127 +++++++++++++++++++++++++++++++++++++++++++
 hw/piix_pci.c   |  161 +++++++++++++++++-------------------------------------
 5 files changed, 187 insertions(+), 115 deletions(-)
 create mode 100644 hw/piix4.c

reply via email to

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