ppc/pnv: move attach_root_port helper to pnv-phb.c
The helper is only used in this file. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-13-danielhb413@gmail.com>
This commit is contained in:
parent
d69db7dadf
commit
e5ea94360e
@ -18,6 +18,30 @@
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
/*
|
||||
* Attach a root port device.
|
||||
*
|
||||
* 'index' will be used both as a PCIE slot value and to calculate
|
||||
* QOM id. 'chip_id' is going to be used as PCIE chassis for the
|
||||
* root port.
|
||||
*/
|
||||
static void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id)
|
||||
{
|
||||
PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT);
|
||||
g_autofree char *default_id = g_strdup_printf("%s[%d]",
|
||||
TYPE_PNV_PHB_ROOT_PORT,
|
||||
index);
|
||||
const char *dev_id = DEVICE(root)->id;
|
||||
|
||||
object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id,
|
||||
OBJECT(root));
|
||||
|
||||
/* Set unique chassis/slot values for the root port */
|
||||
qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id);
|
||||
qdev_prop_set_uint16(DEVICE(root), "slot", index);
|
||||
|
||||
pci_realize_and_unref(root, pci->bus, &error_fatal);
|
||||
}
|
||||
|
||||
static void pnv_phb_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
|
25
hw/ppc/pnv.c
25
hw/ppc/pnv.c
@ -1188,31 +1188,6 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Attach a root port device.
|
||||
*
|
||||
* 'index' will be used both as a PCIE slot value and to calculate
|
||||
* QOM id. 'chip_id' is going to be used as PCIE chassis for the
|
||||
* root port.
|
||||
*/
|
||||
void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id)
|
||||
{
|
||||
PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT);
|
||||
g_autofree char *default_id = g_strdup_printf("%s[%d]",
|
||||
TYPE_PNV_PHB_ROOT_PORT,
|
||||
index);
|
||||
const char *dev_id = DEVICE(root)->id;
|
||||
|
||||
object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id,
|
||||
OBJECT(root));
|
||||
|
||||
/* Set unique chassis/slot values for the root port */
|
||||
qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id);
|
||||
qdev_prop_set_uint16(DEVICE(root), "slot", index);
|
||||
|
||||
pci_realize_and_unref(root, pci->bus, &error_fatal);
|
||||
}
|
||||
|
||||
static void pnv_chip_power8_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev);
|
||||
|
@ -193,7 +193,6 @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10,
|
||||
TYPE_PNV_CHIP_POWER10)
|
||||
|
||||
PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir);
|
||||
void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id);
|
||||
|
||||
#define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv")
|
||||
typedef struct PnvMachineClass PnvMachineClass;
|
||||
|
Loading…
Reference in New Issue
Block a user