qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 5e4f6b: hw/nvme: remove NvmeCtrl parameter fr


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 5e4f6b: hw/nvme: remove NvmeCtrl parameter from ns setup/c...
Date: Tue, 27 Jul 2021 07:32:01 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 5e4f6bcc296ffbd4a66ccdfb975202ba0147d306
      
https://github.com/qemu/qemu/commit/5e4f6bcc296ffbd4a66ccdfb975202ba0147d306
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M hw/nvme/ns.c
    M hw/nvme/nvme.h

  Log Message:
  -----------
  hw/nvme: remove NvmeCtrl parameter from ns setup/check functions

The nvme_ns_setup and nvme_ns_check_constraints should not depend on the
controller state. Refactor and remove it.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: cc6fb6bc506e6c47ed604fcb7b7413dff0b7d845
      
https://github.com/qemu/qemu/commit/cc6fb6bc506e6c47ed604fcb7b7413dff0b7d845
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/subsys.c

  Log Message:
  -----------
  hw/nvme: mark nvme-subsys non-hotpluggable

We currently lack the infrastructure to handle subsystem hotplugging, so
disable it.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: b0fde9e86133f66c054b31722fa29640f57e975c
      
https://github.com/qemu/qemu/commit/b0fde9e86133f66c054b31722fa29640f57e975c
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M hw/nvme/nvme.h
    M hw/nvme/subsys.c

  Log Message:
  -----------
  hw/nvme: unregister controller with subsystem at exit

Make sure the controller is unregistered from the subsystem when device
is removed.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 234214734f7347b1bc3ceeb8f4a2ef53195a8242
      
https://github.com/qemu/qemu/commit/234214734f7347b1bc3ceeb8f4a2ef53195a8242
  Author: Padmakar Kalghatgi <p.kalghatgi@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M hw/nvme/trace-events

  Log Message:
  -----------
  hw/nvme: error handling for too many mappings

If the number of PRP/SGL mappings exceed 1024, reads and writes will
fail because of an internal QEMU limitation of max 1024 vectors.

Signed-off-by: Padmakar Kalghatgi <p.kalghatgi@samsung.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
[k.jensen: changed the error message to be more generic]
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 51e90178f710d64400f8d01035dc7e4f4f9cb9da
      
https://github.com/qemu/qemu/commit/51e90178f710d64400f8d01035dc7e4f4f9cb9da
  Author: Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M tests/qtest/nvme-test.c

  Log Message:
  -----------
  tests/qtest/nvme-test: add persistent memory region test

This will test the PMR functionality.

Signed-off-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
[k.jensen: replaced memory-backend-file with memory-backend-ram]
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 5ffbaeed164da1a87619a3abfadee0c7d63ea1c4
      
https://github.com/qemu/qemu/commit/5ffbaeed164da1a87619a3abfadee0c7d63ea1c4
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M hw/nvme/ns.c
    M hw/nvme/nvme.h
    M hw/nvme/subsys.c

  Log Message:
  -----------
  hw/nvme: fix controller hot unplugging

Prior to this patch the nvme-ns devices are always children of the
NvmeBus owned by the NvmeCtrl. This causes the namespaces to be
unrealized when the parent device is removed. However, when subsystems
are involved, this is not what we want since the namespaces may be
attached to other controllers as well.

This patch adds an additional NvmeBus on the subsystem device. When
nvme-ns devices are realized, if the parent controller device is linked
to a subsystem, the parent bus is set to the subsystem one instead. This
makes sure that namespaces are kept alive and not unrealized.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>


  Commit: 5d45edbeac143c0a18d82efde92cc5e22c4dc021
      
https://github.com/qemu/qemu/commit/5d45edbeac143c0a18d82efde92cc5e22c4dc021
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M include/block/nvme.h

  Log Message:
  -----------
  hw/nvme: split pmrmsc register into upper and lower

The specification uses a set of 32 bit PMRMSCL and PMRMSCU registers to
make up the 64 bit logical PMRMSC register.

Make it so.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>


  Commit: a316aa50e6c9f25c22a705000271d33620a40595
      
https://github.com/qemu/qemu/commit/a316aa50e6c9f25c22a705000271d33620a40595
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M include/block/nvme.h

  Log Message:
  -----------
  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>


  Commit: 5029de44b5352d466f1b6e7c0a9f19e1259d33b3
      
https://github.com/qemu/qemu/commit/5029de44b5352d466f1b6e7c0a9f19e1259d33b3
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c

  Log Message:
  -----------
  hw/nvme: fix out-of-bounds reads

Peter noticed that mmio access may read into the NvmeParams member in
the NvmeCtrl struct.

Fix the bounds check.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 49e03457f1d7dfd2a3fd6affc32d8b69f066fb75
      
https://github.com/qemu/qemu/commit/49e03457f1d7dfd2a3fd6affc32d8b69f066fb75
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c

  Log Message:
  -----------
  hw/nvme: fix mmio read

The new PMR test unearthed a long-standing issue with MMIO reads on
big-endian hosts.

Fix this by unconditionally storing all controller registers in little
endian.

Cc: Gollu Appalanaidu <anaidu.gollu@samsung.com>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 9631a8ab21679e3d605f7f540dd8c692b9593e02
      
https://github.com/qemu/qemu/commit/9631a8ab21679e3d605f7f540dd8c692b9593e02
  Author: Klaus Jensen <k.jensen@samsung.com>
  Date:   2021-07-26 (Mon, 26 Jul 2021)

  Changed paths:
    M tests/qtest/nvme-test.c

  Log Message:
  -----------
  tests/qtest/nvme-test: add mmio read test

Add a regression test for mmio read on big-endian hosts.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Gollu Appalanaidu <anaidu.gollu@samsung.com>


  Commit: 202abcd38920ea2025020de9e2c6e28a403c2256
      
https://github.com/qemu/qemu/commit/202abcd38920ea2025020de9e2c6e28a403c2256
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-07-27 (Tue, 27 Jul 2021)

  Changed paths:
    M hw/nvme/ctrl.c
    M hw/nvme/ns.c
    M hw/nvme/nvme.h
    M hw/nvme/subsys.c
    M hw/nvme/trace-events
    M include/block/nvme.h
    M tests/qtest/nvme-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/nvme/tags/nvme-next-pull-request' into 
staging

hw/nvme fixes

* new PMR test (Gollu Appalanaidu)
* pmr/sgl mapping fix (Padmakar Kalghatgi)
* hotplug fixes (me)
* mmio out-of-bound read fix (me)
* big-endian host fixes (me)

# gpg: Signature made Mon 26 Jul 2021 20:18:12 BST
# gpg:                using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9
# gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown]
# gpg:                 aka "Klaus Jensen <k.jensen@samsung.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: DDCA 4D9C 9EF9 31CC 3468  4272 63D5 6FC5 E55D A838
#      Subkey fingerprint: 5228 33AA 75E2 DCE6 A247  66C0 4DE1 AF31 6D4F 0DE9

* remotes/nvme/tags/nvme-next-pull-request:
  tests/qtest/nvme-test: add mmio read test
  hw/nvme: fix mmio read
  hw/nvme: fix out-of-bounds reads
  hw/nvme: use symbolic names for registers
  hw/nvme: split pmrmsc register into upper and lower
  hw/nvme: fix controller hot unplugging
  tests/qtest/nvme-test: add persistent memory region test
  hw/nvme: error handling for too many mappings
  hw/nvme: unregister controller with subsystem at exit
  hw/nvme: mark nvme-subsys non-hotpluggable
  hw/nvme: remove NvmeCtrl parameter from ns setup/check functions

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/ca4b5ef371d6...202abcd38920



reply via email to

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