qemu/softmmu
Peter Maydell 1518562b49 qdev: Support marking individual buses as 'full'
By default, QEMU will allow devices to be plugged into a bus up to
the bus class's device count limit.  If the user creates a device on
the command line or via the monitor and doesn't explicitly specify
the bus to plug it in, QEMU will plug it into the first non-full bus
that it finds.

This is fine in most cases, but some machines have multiple buses of
a given type, some of which are dedicated to on-board devices and
some of which have an externally exposed connector for user-pluggable
devices. One example is I2C buses.

Provide a new function qbus_mark_full() so that a machine model can
mark this kind of "internal only" bus as 'full' after it has created
all the devices that should be plugged into that bus. The "find a
non-full bus" algorithm will then skip the internal-only bus when
looking for a place to plug in user-created devices.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210903151435.22379-2-peter.maydell@linaro.org
2021-09-13 21:01:08 +01:00
..
arch_init.c meson.build: Define QEMU_ARCH in config-target.h 2021-08-26 17:02:00 +01:00
balloon.c qapi: Restrict balloon-related commands to machine code 2020-09-29 15:41:35 +02:00
bootdevice.c softmmu: move more files to softmmu/ 2020-10-12 11:50:21 -04:00
cpu-throttle.c cpu-throttle: Remove timer_mod() from cpu_throttle_set() 2021-02-08 15:15:32 +01:00
cpu-timers.c icount: get rid of static variable 2021-04-01 09:40:45 +02:00
cpus.c misc: Remove redundant new line in perror() 2021-07-09 18:42:46 +02:00
datadir.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
device_tree.c Do not include sysemu/sysemu.h if it's not really necessary 2021-05-02 17:24:50 +02:00
dma-helpers.c dma: Introduce dma_aligned_pow2_mask() 2021-03-12 12:40:10 +00:00
globals.c qmp: generalize watchdog-set-action to -no-reboot/-no-shutdown 2020-12-15 12:51:57 -05:00
icount.c icount: get rid of static variable 2021-04-01 09:40:45 +02:00
ioport.c softmmu: Add missing trace-events file 2020-09-09 17:15:18 +01:00
main.c meson: move SDL and SDL-image detection to meson 2020-08-21 06:30:44 -04:00
memory.c Trivial patches pull request 20210709 2021-07-11 18:49:25 +01:00
memory_mapping.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
meson.build seccomp: convert to meson 2021-01-06 10:21:20 +01:00
physmem.c softmmu/physmem.c: Check return value from realpath() 2021-08-26 17:02:00 +01:00
qdev-monitor.c qdev: Support marking individual buses as 'full' 2021-09-13 21:01:08 +01:00
qemu-seccomp.c seccomp: don't block getters for resource control syscalls 2021-07-14 14:15:52 +01:00
qtest.c qtest: add a QOM object for qtest 2021-05-26 14:49:45 +02:00
rtc.c qom: Allow optional sugar props 2021-02-08 16:57:37 +11:00
runstate-action.c runstate: cleanup reboot and panic actions 2021-01-21 13:00:41 +01:00
runstate.c runstate: Initialize Error * to NULL 2021-06-15 17:17:09 +02:00
timers-state.h qemu/atomic: Add aligned_{int64,uint64}_t types 2021-07-21 07:45:38 -10:00
tpm.c qapi: More complex uses of QAPI_LIST_APPEND 2021-01-28 08:08:45 +01:00
trace-events memory: Display MemoryRegion name in read/write ops trace events 2021-07-09 18:42:46 +02:00
trace.h softmmu: Add missing trace-events file 2020-09-09 17:15:18 +01:00
vl.c softmmu/vl: Deprecate the -sdl and -curses option 2021-09-06 10:00:14 +02:00