xemu/hw/rdma
Akihiko Odaki 15377f6e79 msix: Assert that specified vector is in range
There were several different ways to deal with the situation where the
vector specified for a msix function is out of bound:
- early return a function and keep progresssing
- propagate the error to the caller
- mark msix unusable
- assert it is in bound
- just ignore

An out-of-bound vector should not be specified if the device
implementation is correct so let msix functions always assert that the
specified vector is in range.

An exceptional case is virtio-pci, which allows the guest to configure
vectors. For virtio-pci, it is more appropriate to introduce its own
checks because it is sometimes too late to check the vector range in
msix functions.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20220829083524.143640-1-akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Yuval Shaia <yuval.shaia.ml@gmail.com>
Signed-off-by: Akihiko Odaki &lt;<a href="mailto:akihiko.odaki@daynix.com" target="_blank">akihiko.odaki@daynix.com</a>&gt;<br>
2022-11-07 14:08:17 -05:00
..
vmw msix: Assert that specified vector is in range 2022-11-07 14:08:17 -05:00
Kconfig kconfig: add dependencies on CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
meson.build meson: convert hw/rdma 2020-08-21 06:30:29 -04:00
rdma_backend_defs.h hw/rdma: Replace QList by GQueue 2020-12-19 10:38:43 +01:00
rdma_backend.c hw/rdma: Replace QList by GQueue 2020-12-19 10:38:43 +01:00
rdma_backend.h hw/rdma: Skip data-path mr_id translation 2020-03-21 19:16:38 +02:00
rdma_rm_defs.h hw/rdma: Modify create/destroy QP to support SRQ 2019-05-04 15:55:56 +03:00
rdma_rm.c qapi: introduce x-query-rdma QMP command 2021-11-02 15:55:14 +00:00
rdma_rm.h qapi: introduce x-query-rdma QMP command 2021-11-02 15:55:14 +00:00
rdma_utils.c hw/dma: Use dma_addr_t type definition when relevant 2022-01-18 12:56:29 +01:00
rdma_utils.h hw/rdma/rdma_utils: Rename rdma_pci_dma_map 'len' argument 2022-01-18 12:56:07 +01:00
rdma.c {hmp, hw/pvrdma}: Expose device internals via monitor interface 2019-03-16 15:52:44 +02:00
trace-events hw/dma: Fix format string issues using dma_addr_t 2022-01-18 12:56:29 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00