1 /* 2 * QEMU PowerPC PowerNV Proxy PHB model 3 * 4 * Copyright (c) 2022, IBM Corporation. 5 * 6 * This code is licensed under the GPL version 2 or later. See the 7 * COPYING file in the top-level directory. 8 */ 9 10 #ifndef PCI_HOST_PNV_PHB_H 11 #define PCI_HOST_PNV_PHB_H 12 13 #include "hw/pci/pcie_host.h" 14 #include "hw/pci/pcie_port.h" 15 #include "qom/object.h" 16 17 typedef struct PnvChip PnvChip; 18 typedef struct PnvPhb4PecState PnvPhb4PecState; 19 20 struct PnvPHB { 21 PCIExpressHost parent_obj; 22 23 uint32_t chip_id; 24 uint32_t phb_id; 25 uint32_t version; 26 char bus_path[8]; 27 28 PnvChip *chip; 29 30 PnvPhb4PecState *pec; 31 32 /* The PHB backend (PnvPHB3, PnvPHB4 ...) being used */ 33 Object *backend; 34 }; 35 36 #define TYPE_PNV_PHB "pnv-phb" 37 OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB, PNV_PHB) 38 39 #endif /* PCI_HOST_PNV_PHB_H */ 40