This series connects the AHCI SATA device to the ZynqMP machine. It requires a restructure of the AHCI file to make the AHCI state struct visible. It also requires a small change to the ahci_irq_lower() and ahci_irq_raise() functions to avoid assuming that the AHCIState is a child of AHCIPCIState.
V5: - Remove the return checks when setting PCIDevice V4: - Remove unnesicary casts - Use object_dynamic_cast() instead of object_class_dynamic_cast() V3: - Perform checks inside the ahci_irq_lower() and ahci_irq_raise() functions to ensure the correct parent object is used. V2: - Macroify the number of SATA ports - Update the non-realise error_propagate() calls to use error_abort instead. Alistair Francis (4): ahci: Seperate the AHCI state structure into the header ahci.c: Don't assume AHCIState's parent is AHCIPCIState xlnx-zynqmp.c: Convert some of the error_propagate() calls to error_abort xlnx-zynqmp: Connect the sysbus AHCI to ZynqMP hw/arm/xlnx-zynqmp.c | 33 +++++++++++++++++++++------------ hw/ide/ahci.c | 26 +++++++------------------- hw/ide/ahci.h | 16 ++++++++++++++++ include/hw/arm/xlnx-zynqmp.h | 3 +++ 4 files changed, 47 insertions(+), 31 deletions(-)