mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
ppc/pnv: turn PnvPHB4 into a PnvPHB backend
Change the parent type of the PnvPHB4 device to TYPE_PARENT since the PCI bus is going to be initialized by the PnvPHB parent. Functions that needs to access the bus via a PnvPHB4 object can do so via the phb4->phb_base pointer. pnv_phb4_pec now creates a PnvPHB object. The powernv9 machine class will create PnvPHB devices with version '4'. powernv10 will create using version '5'. Both are using global machine properties in their class_init() to do that. These changes will benefit us when adding PnvPHB user creatable devices for powernv9 and powernv10. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-6-danielhb413@gmail.com>
This commit is contained in:
parent
fe5bfd4bb8
commit
210aacb3b9
4 changed files with 27 additions and 31 deletions
|
@ -18,6 +18,7 @@
|
|||
typedef struct PnvPhb4PecState PnvPhb4PecState;
|
||||
typedef struct PnvPhb4PecStack PnvPhb4PecStack;
|
||||
typedef struct PnvPHB4 PnvPHB4;
|
||||
typedef struct PnvPHB PnvPHB;
|
||||
typedef struct PnvChip PnvChip;
|
||||
|
||||
/*
|
||||
|
@ -78,7 +79,9 @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4)
|
|||
#define PCI_MMIO_TOTAL_SIZE (0x1ull << 60)
|
||||
|
||||
struct PnvPHB4 {
|
||||
PCIExpressHost parent_obj;
|
||||
DeviceState parent;
|
||||
|
||||
PnvPHB *phb_base;
|
||||
|
||||
uint32_t chip_id;
|
||||
uint32_t phb_id;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue