qemu-e2k/include/hw
Lukasz Maniak 44c2c09488 hw/nvme: Add support for SR-IOV
This patch implements initial support for Single Root I/O Virtualization
on an NVMe device.

Essentially, it allows to define the maximum number of virtual functions
supported by the NVMe controller via sriov_max_vfs parameter.

Passing a non-zero value to sriov_max_vfs triggers reporting of SR-IOV
capability by a physical controller and ARI capability by both the
physical and virtual function devices.

NVMe controllers created via virtual functions mirror functionally
the physical controller, which may not entirely be the case, thus
consideration would be needed on the way to limit the capabilities of
the VF.

NVMe subsystem is required for the use of SR-IOV.

Signed-off-by: Lukasz Maniak <lukasz.maniak@linux.intel.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
2022-06-23 23:24:28 +02:00
..
acpi hw/acpi/piix4: move PIIX4PMState into separate piix4.h header 2022-06-11 11:44:15 +02:00
adc hw/adc/zynq-xadc: Use qemu_irq typedef 2022-05-19 16:19:02 +01:00
arm hw: aspeed: Introduce common UART init function 2022-05-25 10:31:33 +02:00
audio introduce -audio as a replacement for -soundhw 2022-05-14 12:33:44 +02:00
block hw/block/fdc-sysbus: Always mark sysbus floppy controllers as not having DMA 2022-06-11 11:36:14 +02:00
char
core hw/core: Move the ARM sysbus-fdt to core 2022-04-29 10:48:26 +10:00
cpu
cris
cxl pci-bridge/cxl_upstream: Add a CXL switch upstream port 2022-06-16 12:54:57 -04:00
display xlnx_dp: Introduce a vblank signal 2022-06-08 19:38:47 +01:00
dma
firmware
gpio hw/gpio: replace HWADDR_PRIx with PRIx64 2022-05-25 10:31:33 +02:00
hyperv hw/hyperv/vmbus: Remove unused vmbus_load/save_req() 2022-05-30 19:49:42 +02:00
i2c hw/i2c/aspeed: add DEV_ADDR in old register mode 2022-06-22 09:49:34 +02:00
i386 hw/i386/pc: Remove orphan declarations 2022-06-11 11:44:50 +02:00
ide
input Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
intc hw/intc: Add LoongArch extioi interrupt controller(EIOINTC) 2022-06-06 18:12:30 +00:00
ipack
ipmi
isa hw/southbridge/piix: Aggregate all PIIX southbridge type names 2022-06-11 11:44:50 +02:00
kvm
loongarch hw/loongarch: Add LoongArch ipi interrupt support(IPI) 2022-06-06 18:10:46 +00:00
m68k
mem
mips Replace TARGET_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
misc acpi: pvpanic-isa: use AcpiDevAmlIfClass:build_dev_aml to provide device's AML 2022-06-09 19:32:49 -04:00
net Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
nubus Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
nvram
pci hw/nvme: Add support for SR-IOV 2022-06-23 23:24:28 +02:00
pci-bridge pci/pci_expander_bridge: For CXL HB delay the HB register memory region setup. 2022-06-09 19:32:49 -04:00
pci-host hw/loongarch: Add LoongArch ls7a rtc device support 2022-06-06 18:14:13 +00:00
ppc pseries: allow setting stdout-path even on machines with a VGA 2022-05-26 17:11:32 -03:00
rdma
remote vfio-user: handle device interrupts 2022-06-15 16:43:42 +01:00
riscv Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
rtc hw/rtc/mc146818rtc: QOM'ify io_base offset 2022-06-11 11:44:50 +02:00
rx Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
s390x Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
scsi esp: convert ESPState pdma_cb from a function pointer to an integer 2022-03-09 09:29:10 +00:00
sd
sensor Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
sh4
southbridge hw/isa/piix3: Inline and remove piix3_create() 2022-06-11 11:44:50 +02:00
sparc
ssi Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
timer Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
tricore Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
usb Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
vfio vfio/common: Rename VFIOGuestIOMMU::iommu into ::iommu_mr 2022-05-06 09:06:51 -06:00
virtio crypto: Introduce RSA algorithm 2022-06-16 12:54:58 -04:00
watchdog Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
xen Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
xtensa
boards.h hw/machine: Drop cxl_supported flag as no longer useful 2022-06-09 19:32:49 -04:00
clock.h
elf_ops.h
fw-path-provider.h
hotplug.h
hw.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
ide.h include/hw/ide: Unexport pci_piix3_xen_ide_unplug() 2022-06-09 14:47:42 +01:00
irq.h hw/core/irq: remove unused 'qemu_irq_split' function 2022-04-21 11:37:04 +01:00
loader-fit.h
loader.h hw/core/loader: return image sizes as ssize_t 2022-06-10 09:31:42 +10:00
nmi.h
or-irq.h
pcmcia.h
platform-bus.h
ptimer.h ptimer: Rename PTIMER_POLICY_DEFAULT to PTIMER_POLICY_LEGACY 2022-05-19 16:19:03 +01:00
qdev-clock.h
qdev-core.h qdev: unplug blocker for devices 2022-06-15 14:50:41 +01:00
qdev-dma.h
qdev-properties-system.h
qdev-properties.h qdev-properties: Add a new macro with bitmask check for uint64_t property 2022-05-14 12:32:41 +02:00
register.h
registerfields.h hw/registerfields: Add shared fields macros 2022-06-22 09:49:34 +02:00
resettable.h
stream.h
sysbus.h
usb.h
vmstate-if.h