diff mbox series

ppc/pnv: Make PSI device types not user creatable

Message ID 159413975752.169116.5808968580649255382.stgit@bahia.lan
State New
Headers show
Series ppc/pnv: Make PSI device types not user creatable | expand

Commit Message

Greg Kurz July 7, 2020, 4:35 p.m. UTC
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>
---
 hw/ppc/pnv_psi.c |    1 +
 1 file changed, 1 insertion(+)

Comments

David Gibson July 8, 2020, 2:01 a.m. UTC | #1
On Tue, Jul 07, 2020 at 06:35:57PM +0200, Greg Kurz wrote:
> 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>

Applied to ppc-for-5.1.

> ---
>  hw/ppc/pnv_psi.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
> index 75b8ae9703d0..653b41774c34 100644
> --- a/hw/ppc/pnv_psi.c
> +++ b/hw/ppc/pnv_psi.c
> @@ -937,6 +937,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 = {
> 
>
diff mbox series

Patch

diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
index 75b8ae9703d0..653b41774c34 100644
--- a/hw/ppc/pnv_psi.c
+++ b/hw/ppc/pnv_psi.c
@@ -937,6 +937,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 = {