[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v6 0/5] hw/nvme: fix mmio read

From: Klaus Jensen
Subject: [PATCH v6 0/5] hw/nvme: fix mmio read
Date: Wed, 21 Jul 2021 09:48:31 +0200

From: Klaus Jensen <k.jensen@samsung.com>

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.

  * "hw/nvme: split pmrmsc register into upper and lower"
    - Remove unnecessary masking (Peter)
    - Missing shift (Peter)

  * "hw/nvme: fix mmio read"
    - Hurried the changes a bit. Fixed.

  * "hw/nvme: split pmrmsc register into upper and lower"
    - Fix missing left-shift (Peter)

  * "hw/nvme: fix mmio read"
    - Remove unnecessary masking (Peter)
    - Keep existing behaviour and do not zero the register fields doing
      initialization (Peter)


  * "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          | 352 ++++++++++++++++++++++------------------
 tests/qtest/nvme-test.c |  26 +++
 3 files changed, 265 insertions(+), 173 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]