ppc/pnv: Remove the XICSFabric Interface from the POWER9 machine
The POWER8 PowerNV machine needs to implement a XICSFabric interface
as this is the POWER8 interrupt controller model. But the POWER9
machine uselessly inherits of XICSFabric from the common PowerNV
machine definition.
Open code machine definitions to have a better control on the
different interfaces each machine should define.
Fixes: f30c843ced
("ppc/pnv: Introduce PowerNV machines with fixed CPU models")
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20191003143617.21682-1-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
f478d9af21
commit
1aba8716c8
31
hw/ppc/pnv.c
31
hw/ppc/pnv.c
@ -1485,23 +1485,21 @@ static void pnv_machine_class_init(ObjectClass *oc, void *data)
|
||||
.parent = TYPE_PNV9_CHIP, \
|
||||
}
|
||||
|
||||
#define DEFINE_PNV_MACHINE_TYPE(cpu, class_initfn) \
|
||||
{ \
|
||||
.name = MACHINE_TYPE_NAME(cpu), \
|
||||
.parent = TYPE_PNV_MACHINE, \
|
||||
.instance_size = sizeof(PnvMachineState), \
|
||||
.instance_init = pnv_machine_instance_init, \
|
||||
.class_init = class_initfn, \
|
||||
.interfaces = (InterfaceInfo[]) { \
|
||||
{ TYPE_XICS_FABRIC }, \
|
||||
{ TYPE_INTERRUPT_STATS_PROVIDER }, \
|
||||
{ }, \
|
||||
}, \
|
||||
}
|
||||
|
||||
static const TypeInfo types[] = {
|
||||
DEFINE_PNV_MACHINE_TYPE("powernv8", pnv_machine_power8_class_init),
|
||||
DEFINE_PNV_MACHINE_TYPE("powernv9", pnv_machine_power9_class_init),
|
||||
{
|
||||
.name = MACHINE_TYPE_NAME("powernv9"),
|
||||
.parent = TYPE_PNV_MACHINE,
|
||||
.class_init = pnv_machine_power9_class_init,
|
||||
},
|
||||
{
|
||||
.name = MACHINE_TYPE_NAME("powernv8"),
|
||||
.parent = TYPE_PNV_MACHINE,
|
||||
.class_init = pnv_machine_power8_class_init,
|
||||
.interfaces = (InterfaceInfo[]) {
|
||||
{ TYPE_XICS_FABRIC },
|
||||
{ },
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = TYPE_PNV_MACHINE,
|
||||
.parent = TYPE_MACHINE,
|
||||
@ -1510,7 +1508,6 @@ static const TypeInfo types[] = {
|
||||
.instance_init = pnv_machine_instance_init,
|
||||
.class_init = pnv_machine_class_init,
|
||||
.interfaces = (InterfaceInfo[]) {
|
||||
{ TYPE_XICS_FABRIC },
|
||||
{ TYPE_INTERRUPT_STATS_PROVIDER },
|
||||
{ },
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user