hw/nvme: Initialize capability structures for primary/secondary controllers
authorŁukasz Gieryk <lukasz.gieryk@linux.intel.com>
Mon, 9 May 2022 14:16:16 +0000 (16:16 +0200)
committerKlaus Jensen <k.jensen@samsung.com>
Thu, 23 Jun 2022 21:24:29 +0000 (23:24 +0200)
commit746d42b13368e18856dccf16bd39e04d02feec09
treee03dfb4ab84bb19092d9a1b375f97dc72fcc37f6
parentaa817713376195cc5cd861183fc7f953a7b60d5d
hw/nvme: Initialize capability structures for primary/secondary controllers

With four new properties:
 - sriov_v{i,q}_flexible,
 - sriov_max_v{i,q}_per_vf,
one can configure the number of available flexible resources, as well as
the limits. The primary and secondary controller capability structures
are initialized accordingly.

Since the number of available queues (interrupts) now varies between
VF/PF, BAR size calculation is also adjusted.

Signed-off-by: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
hw/nvme/ctrl.c
hw/nvme/nvme.h
include/block/nvme.h