All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xics: Make some device types not user creatable
@ 2019-10-04  8:37 Greg Kurz
  2019-10-05 10:21 ` David Gibson
  0 siblings, 1 reply; 2+ messages in thread
From: Greg Kurz @ 2019-10-04  8:37 UTC (permalink / raw)
  To: David Gibson; +Cc: qemu-ppc, Cédric Le Goater, qemu-devel

Some device types of the XICS model are exposed to the QEMU command
line:

$ ppc64-softmmu/qemu-system-ppc64 -device help | grep ic[sp]
name "icp"
name "ics"
name "ics-spapr"
name "pnv-icp", desc "PowerNV ICP"

These are internal devices that shouldn't be instantiable by the
user. By the way, they can't be because their respective realize
functions expect link properties that can't be set from the command
line:

qemu-system-ppc64: -device icp: required link 'xics' not found:
 Property '.xics' not found
qemu-system-ppc64: -device ics: required link 'xics' not found:
 Property '.xics' not found
qemu-system-ppc64: -device ics-spapr: required link 'xics' not found:
 Property '.xics' not found
qemu-system-ppc64: -device pnv-icp: required link 'xics' not found:
 Property '.xics' not found

Hide them by setting dc->user_creatable to false in the base class
"icp" and "ics" init functions.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 hw/intc/xics.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index dfe7dbd254ab..8d41df3103f9 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -369,6 +369,7 @@ static void icp_class_init(ObjectClass *klass, void *data)
 
     dc->realize = icp_realize;
     dc->unrealize = icp_unrealize;
+    dc->user_creatable = false;
 }
 
 static const TypeInfo icp_info = {
@@ -689,6 +690,7 @@ static void ics_class_init(ObjectClass *klass, void *data)
     dc->props = ics_properties;
     dc->reset = ics_reset;
     dc->vmsd = &vmstate_ics;
+    dc->user_creatable = false;
 }
 
 static const TypeInfo ics_info = {



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] xics: Make some device types not user creatable
  2019-10-04  8:37 [PATCH] xics: Make some device types not user creatable Greg Kurz
@ 2019-10-05 10:21 ` David Gibson
  0 siblings, 0 replies; 2+ messages in thread
From: David Gibson @ 2019-10-05 10:21 UTC (permalink / raw)
  To: Greg Kurz; +Cc: qemu-ppc, Cédric Le Goater, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]

On Fri, Oct 04, 2019 at 10:37:47AM +0200, Greg Kurz wrote:
> Some device types of the XICS model are exposed to the QEMU command
> line:
> 
> $ ppc64-softmmu/qemu-system-ppc64 -device help | grep ic[sp]
> name "icp"
> name "ics"
> name "ics-spapr"
> name "pnv-icp", desc "PowerNV ICP"
> 
> These are internal devices that shouldn't be instantiable by the
> user. By the way, they can't be because their respective realize
> functions expect link properties that can't be set from the command
> line:
> 
> qemu-system-ppc64: -device icp: required link 'xics' not found:
>  Property '.xics' not found
> qemu-system-ppc64: -device ics: required link 'xics' not found:
>  Property '.xics' not found
> qemu-system-ppc64: -device ics-spapr: required link 'xics' not found:
>  Property '.xics' not found
> qemu-system-ppc64: -device pnv-icp: required link 'xics' not found:
>  Property '.xics' not found
> 
> Hide them by setting dc->user_creatable to false in the base class
> "icp" and "ics" init functions.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>

Applied to ppc-for-4.2.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-10-06  0:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-04  8:37 [PATCH] xics: Make some device types not user creatable Greg Kurz
2019-10-05 10:21 ` David Gibson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.