'valid' field in MemoryRegionOps struct indicates how the MemoryRegion
can be accessed by the guest. In the previous code, the 'valid' field
was not specified explicitly. As a result, the CMB area could only be
accessed in units of 4 bytes.
This commit specifies the 'valid' field in MemoryRegionOps of CMB and
the CMB area can be accessed in units of 8 bytes.
Signed-off-by: Tomoyuki HIROSE <tomoyuki.hirose@igel.co.jp>
---
hw/nvme/ctrl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 8e4612e035..acbd10628f 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -8166,6 +8166,11 @@ static const MemoryRegionOps nvme_cmb_ops = {
.min_access_size = 1,
.max_access_size = 8,
},
+ .valid = {
+ .unaligned = true,
+ .min_access_size = 1,
+ .max_access_size = 8,
+ },
};
static bool nvme_check_params(NvmeCtrl *n, Error **errp)
--
2.43.0