This patchset eliminates the legacy macio_init() function used to setup the ESCC and PIC memory regions and instead allows the macio device to be instantiated directly via qdev, wiring up the ESCC internally using sysbus MMIO memory regions and the PIC via QOM object links.
The biggest surprise in this patchset was the need to QOMify the heathrow device which apparently up until now has never required any of these new-fangled APIs from the last decade such as qdev and QOM. There's still some follow-up work to do with the PCI host bridge wiring but it seems to me that this is a good preparation step. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Mark Cave-Ayland (11): macio: embed DBDMA device directly within macio macio: move ESCC device within the macio device heathrow: QOMify heathrow PIC heathrow: convert to trace-events heathrow: change heathrow_pic_init() to return the heathrow device macio: move macio related structures and defines into separate macio.h file mac_oldworld: use object link to pass heathrow PIC object to macio openpic: move OpenPIC state and related definitions to openpic.h mac_newworld: use object link to pass OpenPIC object to macio macio: move setting of CUDA timebase frequency to macio_common_realize() macio: remove macio_init() function hw/intc/heathrow_pic.c | 165 ++++++++++++++++++++++------------------- hw/intc/openpic.c | 157 --------------------------------------- hw/intc/trace-events | 5 ++ hw/misc/macio/macio.c | 150 +++++++++++++++++-------------------- hw/ppc/mac.h | 10 +-- hw/ppc/mac_newworld.c | 56 +++++--------- hw/ppc/mac_oldworld.c | 50 +++++-------- include/hw/intc/heathrow_pic.h | 50 +++++++++++++ include/hw/misc/macio/macio.h | 79 ++++++++++++++++++++ include/hw/ppc/openpic.h | 160 ++++++++++++++++++++++++++++++++++++++- 10 files changed, 488 insertions(+), 394 deletions(-) create mode 100644 include/hw/intc/heathrow_pic.h create mode 100644 include/hw/misc/macio/macio.h -- 2.11.0