Message ID | 157017826724.337875.14822177178282524024.stgit@bahia.lan |
---|---|
State | New |
Headers | show |
Series | xics: Make some device types not user creatable | expand |
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.
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 = {
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(+)