From: Klaus Jensen <[email protected]>
Fix mmio read issues on big-endian hosts. The core issue is that values
in the BAR is not stored in little endian as required.
Fix that and add a regression test for this. This required a bit of
cleanup, so it blew up into a series.
v2:
* "hw/nvme: use symbolic names for registers"
Use offsetof(NvmeBar, reg) instead of explicit offsets (Philippe)
* "hw/nvme: fix mmio read"
Use the st/ld API instead of cpu_to_X (Philippe)
Klaus Jensen (5):
hw/nvme: split pmrmsc register into upper and lower
hw/nvme: use symbolic names for registers
hw/nvme: fix out-of-bounds reads
hw/nvme: fix mmio read
tests/qtest/nvme-test: add mmio read test
include/block/nvme.h | 60 +++++--
hw/nvme/ctrl.c | 362 +++++++++++++++++++++++-----------------
tests/qtest/nvme-test.c | 26 +++
3 files changed, 276 insertions(+), 172 deletions(-)
--
2.32.0