]> git.ipfire.org Git - thirdparty/qemu.git/commit
hw/nvme: add machine compatibility parameter to enable msix exclusive bar
authorKlaus Jensen <k.jensen@samsung.com>
Sun, 10 Mar 2024 10:43:55 +0000 (11:43 +0100)
committerMichael Tokarev <mjt@tls.msk.ru>
Thu, 14 Mar 2024 18:24:34 +0000 (21:24 +0300)
commit0b7ccfd1d228f905099079e67f18c04d21a9f97b
treef794916e9f4d07b92d0ec2939e9aac5c9b54c6db
parent6a5d6849d13dd453fad18d516ca9531642204aaa
hw/nvme: add machine compatibility parameter to enable msix exclusive bar

Commit 1901b4967c3f ("hw/block/nvme: move msix table and pba to BAR 0")
moved the MSI-X table and PBA to BAR 0 to make room for enabling CMR and
PMR at the same time. As reported by Julien Grall in #2184, this breaks
migration through system hibernation.

Add a machine compatibility parameter and set it on machines pre 6.0 to
enable the old behavior automatically, restoring the hibernation
migration support.

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2184
Fixes: 1901b4967c3f ("hw/block/nvme: move msix table and pba to BAR 0")
Reported-by: Julien Grall julien@xen.org
Tested-by: Julien Grall julien@xen.org
Reviewed-by: Jesper Wendel Devantier <foss@defmacro.it>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
(cherry picked from commit fa905f65c5549703279f68c253914799b10ada47)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/core/machine.c
hw/nvme/ctrl.c
hw/nvme/nvme.h