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" <m...@redhat.com> Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Richard Henderson <richard.hender...@linaro.org> Cc: Eduardo Habkost <ehabk...@redhat.com> Cc: Gavin Shan <gs...@redhat.com> Cc: Hui Zhu <teawa...@gmail.com> Cc: Sebastien Boeuf <sebastien.bo...@intel.com> Cc: Pankaj Gupta <pankaj.gupta.li...@gmail.com> 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