hw/nvme: use symbolic names for registers

Add the NvmeBarRegs enum and use these instead of explicit register
offsets.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
This commit is contained in:
Klaus Jensen 2021-07-13 16:29:59 +02:00
parent 5d45edbeac
commit a316aa50e6
2 changed files with 50 additions and 23 deletions

View file

@ -9,7 +9,7 @@ typedef struct QEMU_PACKED NvmeBar {
uint32_t cc;
uint8_t rsvd24[4];
uint32_t csts;
uint32_t nssrc;
uint32_t nssr;
uint32_t aqa;
uint64_t asq;
uint64_t acq;
@ -31,6 +31,33 @@ typedef struct QEMU_PACKED NvmeBar {
uint8_t css[484];
} NvmeBar;
enum NvmeBarRegs {
NVME_REG_CAP = offsetof(NvmeBar, cap),
NVME_REG_VS = offsetof(NvmeBar, vs),
NVME_REG_INTMS = offsetof(NvmeBar, intms),
NVME_REG_INTMC = offsetof(NvmeBar, intmc),
NVME_REG_CC = offsetof(NvmeBar, cc),
NVME_REG_CSTS = offsetof(NvmeBar, csts),
NVME_REG_NSSR = offsetof(NvmeBar, nssr),
NVME_REG_AQA = offsetof(NvmeBar, aqa),
NVME_REG_ASQ = offsetof(NvmeBar, asq),
NVME_REG_ACQ = offsetof(NvmeBar, acq),
NVME_REG_CMBLOC = offsetof(NvmeBar, cmbloc),
NVME_REG_CMBSZ = offsetof(NvmeBar, cmbsz),
NVME_REG_BPINFO = offsetof(NvmeBar, bpinfo),
NVME_REG_BPRSEL = offsetof(NvmeBar, bprsel),
NVME_REG_BPMBL = offsetof(NvmeBar, bpmbl),
NVME_REG_CMBMSC = offsetof(NvmeBar, cmbmsc),
NVME_REG_CMBSTS = offsetof(NvmeBar, cmbsts),
NVME_REG_PMRCAP = offsetof(NvmeBar, pmrcap),
NVME_REG_PMRCTL = offsetof(NvmeBar, pmrctl),
NVME_REG_PMRSTS = offsetof(NvmeBar, pmrsts),
NVME_REG_PMREBS = offsetof(NvmeBar, pmrebs),
NVME_REG_PMRSWTP = offsetof(NvmeBar, pmrswtp),
NVME_REG_PMRMSCL = offsetof(NvmeBar, pmrmscl),
NVME_REG_PMRMSCU = offsetof(NvmeBar, pmrmscu),
};
enum NvmeCapShift {
CAP_MQES_SHIFT = 0,
CAP_CQR_SHIFT = 16,