Message ID | 20171125151610.20547-1-ehabkost@redhat.com |
---|---|
Headers | show |
Series | Replace has_dynamic_sysbus with list of allowed device types | expand |
Hi On Sat, Nov 25, 2017 at 4:16 PM, Eduardo Habkost <ehabkost@redhat.com> wrote: > Changes v1 (RFC) -> v2: > * Patch 1 now just adds TYPE_SYS_BUS_DEVICE to the existing > has_dynamic_sysbus=true machines, and other patches make > the lists on each machine-type more specific. > * Change the name of the new field to > allowed_dynamic_sysbus_devices. > * The q35 allowed list is much shorter because the list of > user-creatable sysbus devices in QEMU is shorter. > * Keep the xen_set_dynamic_sysbus() hack, just change it > to add 'xen-sysdev" to the allowed list. > * Simplified the arm/virt code. > > Summary > ------- > > This series replaces the existing has_dynamic_sysbus flag (that > makes the machine accept every user-creatable sysbus device type > on the command-line) with a list of allowed devices. > > This will be helpful when implementing the new query-device-slots > command, because each machine type will include only the sysbus > devices it really supports, instead of including a catch-all > TYPE_SYS_BUS_DEVICE "slot". > > This will be useful to add support to new sysbus devices on > machines like pc_piix, that don't have has_dynamic_sysbus set > today. > > This also makes the code safer: just compiling a new sysbus > device in the same QEMU binary won't make a machine-type > automatically start accepting the device. Anything left for the series? (besides review of patch 5?) I need this to be solved for the pending TPM CRB device to work with piix. Thanks > > Cc: Marc-André Lureau <marcandre.lureau@redhat.com> > Cc: Marcel Apfelbaum <marcel@redhat.com> > Cc: Paolo Bonzini <pbonzini@redhat.com> > Cc: Stefan Berger <stefanb@linux.vnet.ibm.com> > Cc: Alexander Graf <agraf@suse.de> > > Eduardo Habkost (6): > machine: Replace has_dynamic_sysbus with list of allowed devices > hw/arm/virt: Allow only supported dynamic sysbus devices > ppc: e500: Allow only supported dynamic sysbus devices > spapr: Allow only supported dynamic sysbus devices > xen: Add only xen-sysdev to dynamic sysbus device list > q35: Allow only supported dynamic sysbus devices > > include/hw/boards.h | 5 ++++- > hw/arm/virt.c | 5 ++++- > hw/core/machine.c | 43 +++++++++++++++++++++++++++++-------------- > hw/i386/pc_q35.c | 5 ++++- > hw/ppc/e500plat.c | 4 +++- > hw/ppc/spapr.c | 2 +- > hw/xen/xen_backend.c | 2 +- > 7 files changed, 46 insertions(+), 20 deletions(-) > > -- > 2.13.6 > >
Queued on machine-next.