qemu/hw
Alexander Graf ee241d79bb hw/vmapple/virtio-blk: Add support for apple virtio-blk
Apple has its own virtio-blk PCI device ID where it deviates from the
official virtio-pci spec slightly: It puts a new "apple type"
field at a static offset in config space and introduces a new barrier
command.

This patch first creates a mechanism for virtio-blk downstream classes to
handle unknown commands. It then creates such a downstream class and a new
vmapple-virtio-blk-pci class which support the additional apple type config
identifier as well as the barrier command.

The 'aux' or 'root' device type are selected using the 'variant' property.

Signed-off-by: Alexander Graf <graf@amazon.com>
Signed-off-by: Phil Dennis-Jordan <phil@philjordan.eu>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Tested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20241223221645.29911-13-phil@philjordan.eu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2025-03-04 14:45:34 +01:00
..
9pfs 9pfs: improve v9fs_open() tracing 2025-02-06 17:10:46 +01:00
acpi hw/acpi: Add vmclock device 2025-01-15 17:43:24 -05:00
adc include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
alpha hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
arm hw/arm/fsl-imx8mp: Add on-chip RAM 2025-02-25 17:24:00 +00:00
audio Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
avr hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
block hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
char hw/char/xilinx_uartlite: Make device endianness configurable 2025-02-16 14:34:51 +01:00
core hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
cpu hw/cpu/arm_mpcore: Remove default values for GIC external IRQs 2025-02-20 14:20:29 +00:00
cxl mem/cxl_type3: support 3, 6, 12 and 16 interleave ways 2025-02-21 07:18:42 -05:00
display pvg: add option to configure it out 2025-02-25 16:18:12 +01: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 hw/gpio/pca955*: Move Kconfig switches next to implementations 2025-02-25 15:32:58 +00:00
hppa hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
hyperv qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
i2c hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
i386 i386/pc: Support cache topology in -machine for PC machine 2025-02-25 16:18:12 +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 hw/intc: Remove TCG dependency on ARM_GICV3 2025-03-04 14:45:34 +01:00
ipack hw/ipack: Remove legacy qemu_allocate_irqs() use 2025-01-31 19:36:44 +01:00
ipmi Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
isa hw: Declare various const data as 'const' 2025-02-16 14:26:07 +01:00
loongarch target-arm queue: 2025-03-03 10:20:03 +08:00
m68k hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
mem mem/cxl_type3: support 3, 6, 12 and 16 interleave ways 2025-02-21 07:18:42 -05:00
microblaze hw/ssi/xilinx_spi: Make device endianness configurable 2025-02-16 14:34:57 +01:00
mips hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
misc hw/misc/pvpanic: Add MMIO interface 2025-03-04 14:45:34 +01:00
net virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
nubus include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
nvme hw/nvme: remove nvme_aio_err() 2025-02-26 12:40:35 +01:00
nvram fw_cfg: Don't set callback_opaque NULL in fw_cfg_modify_bytes_read() 2024-12-31 21:21:34 +01:00
openrisc hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
pci virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
pci-bridge Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pci-host hw/arm/fsl-imx8mp: Add PCIe support 2025-02-25 17:02:34 +00:00
ppc hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
remote Memory pull request for 10.0 2025-02-19 08:36:26 +08:00
riscv hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
rtc hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
rx hw/rx: Allow execution without either bios or kernel 2025-02-16 14:45:38 +01:00
s390x virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
scsi block: remove unused BLOCK_OP_TYPE_DATAPLANE 2025-02-06 14:51:10 +01:00
sd hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
sensor hw: Make class data 'const' 2025-02-16 14:26:07 +01:00
sh4 hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
smbios include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sparc hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
sparc64 hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
ssi hw/ssi: Make flash size a property in NPCM7XX FIU 2025-02-20 14:20:29 +00:00
timer * qom: Use command line syntax for default values in help 2025-03-03 10:20:59 +08:00
tpm hw/tpm: Have TPM TIS sysbus device inherit from DYNAMIC_SYS_BUS_DEVICE 2025-02-16 14:25:07 +01:00
tricore hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
ufs hw/ufs: Fix legacy single doorbell support bit 2025-02-17 18:20:53 +09:00
usb hw/usb/hcd-dwc3: Align global registers size with Linux 2025-02-25 15:32:58 +00:00
vfio virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
virtio virtio,pc,pci: features, fixes, cleanups 2025-02-22 05:06:39 +08:00
vmapple hw/vmapple/virtio-blk: Add support for apple virtio-blk 2025-03-04 14:45:34 +01:00
watchdog hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
xen hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
xenpv hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
xtensa hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
Kconfig hw: Add vmapple subdir 2025-03-04 14:45:34 +01:00
meson.build hw: Add vmapple subdir 2025-03-04 14:45:34 +01:00