qemu/hw
Gustavo Romero e6c33efed3 hw/misc/ivshmem-flat: Add ivshmem-flat device
Add a new device, ivshmem-flat, which is similar to the ivshmem PCI but
does not require a PCI bus. It's meant to be used on machines like those
with Cortex-M MCUs, which usually lack a PCI/PCIe bus, e.g. lm3s6965evb
and mps2-an385.

The device currently only supports the sysbus bus.

The new device, just like the ivshmem PCI device, supports both peer
notification via hardware interrupts and shared memory.

The device shared memory size can be set using the 'shmem-size' option
and it defaults to 4 MiB, which is the default size of shmem allocated
by the ivshmem server.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1134
Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
[PMD: Rebased updating Property and using DEFINE_TYPES macro]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20241216141818.111255-2-gustavo.romero@linaro.org>
2024-12-31 21:21:27 +01:00
..
9pfs Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
acpi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
adc include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
alpha alpha: switch boards to "default y" 2024-05-03 15:47:47 +02:00
arm hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
audio Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
avr Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
block Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
char Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
core Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
cpu Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
cxl Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
display Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
dma Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
fsi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
gpio Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
hppa include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hyperv Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
i2c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
i386 hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
ide Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
input Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
intc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
ipack include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
ipmi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
isa Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
loongarch hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
m68k next-cube: add my copyright to the top of the file 2024-12-29 07:13:47 +01:00
mem Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
microblaze include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
mips hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
misc hw/misc/ivshmem-flat: Add ivshmem-flat device 2024-12-31 21:21:27 +01:00
net Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
nubus include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
nvme Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
nvram Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
openrisc hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
pci Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pci-bridge Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pci-host hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
ppc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
remote Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
riscv hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
rtc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
rx Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
s390x Hi, 2024-12-22 14:33:27 -05:00
scsi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
sd Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
sensor hw/sensor: Replace type_register() with type_register_static() 2024-12-10 18:49:25 +01:00
sh4 include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
smbios include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sparc Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
sparc64 Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
ssi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
timer hw/timer/hpet: Fix comment about capabilities register 2024-12-28 14:42:52 +03:00
tpm Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
tricore hw/tricore: Remove empty Property lists 2024-12-19 19:33:37 +01:00
ufs Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
usb Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
vfio vfio/migration: Rename vfio_devices_all_dirty_tracking() 2024-12-26 07:23:38 +01:00
virtio qmp: update vhost-user protocol feature maps 2024-12-28 14:42:53 +03:00
watchdog Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xen hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
xenpv include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xtensa hw/pci-host/gpex: Allow more than 4 legacy IRQs 2024-12-30 20:04:50 +01:00
Kconfig hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00
meson.build hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00