Support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE in QEMU, which indicates to
a guest that we don't support reading unplugged memory. We indicate
the feature based on a new "unplugged-inaccessible" property available
for x86 targets only (the only ones with legacy guests). Guests that don't
support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE will fail initialization if
indicated/required by the hypervisor.
For example, Linux guests starting with v5.16 will support
VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE.
For future targets that don't have legacy guests (especially arm64), we'll
always indicate VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE.
More details can be found in the description of patch #2.
"
For existing compat machines, the property will default to "off", to
not change the behavior but eventually warn about a problematic setup.
Short-term, we'll set the property default to "auto" for new QEMU machines.
Mid-term, we'll set the property default to "on" for new QEMU machines.
Long-term, we'll deprecate the parameter and disallow legacy guests
completely.
"
TODO: Once 6.2 was release, adjust patch #3. Replace patch #1 by a proper
Linux header sync.
Cc: "Michael S. Tsirkin" <[email protected]>
Cc: Marcel Apfelbaum <[email protected]>
Cc: Paolo Bonzini <[email protected]>
Cc: Richard Henderson <[email protected]>
Cc: Eduardo Habkost <[email protected]>
Cc: Gavin Shan <[email protected]>
Cc: Hui Zhu <[email protected]>
Cc: Sebastien Boeuf <[email protected]>
Cc: Pankaj Gupta <[email protected]>
David Hildenbrand (3):
linux-headers: sync VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE
virtio-mem: Support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE
virtio-mem: Set "unplugged-inaccessible=auto" for the 6.2 machine on
x86
hw/i386/pc.c | 1 +
hw/virtio/virtio-mem.c | 63 +++++++++++++++++++++
include/hw/virtio/virtio-mem.h | 8 +++
include/standard-headers/linux/virtio_mem.h | 9 ++-
4 files changed, 78 insertions(+), 3 deletions(-)
--
2.31.1