aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc/pnv_psi.c
diff options
context:
space:
mode:
authorGreg Kurz <groug@kaod.org>2020-07-07 18:35:57 +0200
committerDavid Gibson <david@gibson.dropbear.id.au>2020-07-20 09:21:39 +1000
commit14de3d4ac58c0f63e9f5560c7e01e62e39467edd (patch)
treee2776a356867c23864e42e31c76c32d62bc7c39a /hw/ppc/pnv_psi.c
parent9fc87111005e8903785db40819af66b8f85b8b96 (diff)
downloadqemu-14de3d4ac58c0f63e9f5560c7e01e62e39467edd.zip
qemu-14de3d4ac58c0f63e9f5560c7e01e62e39467edd.tar.gz
qemu-14de3d4ac58c0f63e9f5560c7e01e62e39467edd.tar.bz2
ppc/pnv: Make PSI device types not user creatable
QEMU aborts with -device pnv-psi-POWER8: $ qemu-system-ppc64 -device pnv-psi-POWER8 qemu-system-ppc64: hw/intc/xics.c:605: ics_realize: Assertion `ics->xics' failed. Aborted (core dumped) The Processor Service Interface Controller is an internal device. It should only be instantiated by the chip, which takes care of configuring the link required by the ICS object in the case of POWER8. It doesn't make sense for a user to specify it on the command line. Note that the PSI model for POWER8 was added 3 yrs ago but the devices weren't available on the command line because of a bug that was fixed by recent commit 2f35254aa0 ("pnv/psi: Correct the pnv-psi* devices not to be sysbus devices"). Fixes: 54f59d786c ("ppc/pnv: Add cut down PSI bridge model and hookup external interrupt") Reported-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Greg Kurz <groug@kaod.org> Message-Id: <159413975752.169116.5808968580649255382.stgit@bahia.lan> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'hw/ppc/pnv_psi.c')
-rw-r--r--hw/ppc/pnv_psi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
index 5bdeec7..6a479ca 100644
--- a/hw/ppc/pnv_psi.c
+++ b/hw/ppc/pnv_psi.c
@@ -929,6 +929,7 @@ static void pnv_psi_class_init(ObjectClass *klass, void *data)
dc->desc = "PowerNV PSI Controller";
device_class_set_props(dc, pnv_psi_properties);
dc->reset = pnv_psi_reset;
+ dc->user_creatable = false;
}
static const TypeInfo pnv_psi_info = {