On Sep 24 08:35, Klaus Jensen wrote: > From: Klaus Jensen <k.jen...@samsung.com> > > Add a boolean prop (ctratt.mem) for setting CTRATT.MEM and default it to > unset (false) to keep existing behavior of the device intact. > > Signed-off-by: Klaus Jensen <k.jen...@samsung.com> > --- > hw/nvme/ctrl.c | 7 ++++++- > hw/nvme/nvme.h | 4 ++++ > 2 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c > index f36c45931821..8556f3e61fa0 100644 > --- a/hw/nvme/ctrl.c > +++ b/hw/nvme/ctrl.c > @@ -8492,7 +8492,11 @@ static void nvme_init_ctrl(NvmeCtrl *n, PCIDevice > *pci_dev) > id->cntlid = cpu_to_le16(n->cntlid); > > id->oaes = cpu_to_le32(NVME_OAES_NS_ATTR); > - ctratt = NVME_CTRATT_ELBAS | NVME_CTRATT_MEM; > + > + ctratt = NVME_CTRATT_ELBAS; > + if (n->params.ctratt.mem) { > + ctratt |= NVME_CTRATT_MEM; > + } > > id->rab = 6; > > @@ -8751,6 +8755,7 @@ static Property nvme_props[] = { > false), > DEFINE_PROP_UINT16("mqes", NvmeCtrl, params.mqes, 0x7ff), > DEFINE_PROP_UINT16("spdm_port", PCIDevice, spdm_port, 0), > + DEFINE_PROP_BOOL("ctratt.mem", NvmeCtrl, params.ctratt.mem, false), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/hw/nvme/nvme.h b/hw/nvme/nvme.h > index 781985754d0d..bd3c6ba33a67 100644 > --- a/hw/nvme/nvme.h > +++ b/hw/nvme/nvme.h > @@ -538,6 +538,10 @@ typedef struct NvmeParams { > uint32_t sriov_max_vq_per_vf; > uint32_t sriov_max_vi_per_vf; > bool msix_exclusive_bar; > + > + struct { > + bool mem; > + } ctratt; > } NvmeParams; > > typedef struct NvmeCtrl { > > --- > base-commit: 3245de3f3d002bc9ce2ecae61e8d86cb9e375808 > change-id: 20240924-add-ctratt-mem-knob-ae4431251cb1 > > Best regards, > -- > Klaus Jensen <k.jen...@samsung.com> > >
Applied to nvme-next.
signature.asc
Description: PGP signature