From: Tomoyuki Hirose <hrstmyk8...@gmail.com> '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: CJ Chen <cjc...@igel.co.jp> Based-on-a-patch-by: Tomoyuki Hirose <hrstmyk8...@gmail.com> Tested-by: CJ Chen <cjc...@igel.co.jp> Reported-by: Tomoyuki Hirose <hrstmyk8...@gmail.com> --- hw/nvme/ctrl.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index fd935507bc..9dca718ca1 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -8272,6 +8272,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.25.1