xen: don't require virtio with grants for non-PV guests
authorJuergen Gross <jgross@suse.com>
Wed, 22 Jun 2022 06:38:38 +0000 (08:38 +0200)
committerJuergen Gross <jgross@suse.com>
Mon, 1 Aug 2022 05:43:03 +0000 (07:43 +0200)
commit251e90e7e346a23742b90e2c4db19d322e071d99
treec4c3477288ae1ab03b0933fbeeaff78020c1b63f
parenta870544ca9d215449e91ebc01e35d80b23151c78
xen: don't require virtio with grants for non-PV guests

Commit fa1f57421e0b ("xen/virtio: Enable restricted memory access using
Xen grant mappings") introduced a new requirement for using virtio
devices: the backend now needs to support the VIRTIO_F_ACCESS_PLATFORM
feature.

This is an undue requirement for non-PV guests, as those can be operated
with existing backends without any problem, as long as those backends
are running in dom0.

Per default allow virtio devices without grant support for non-PV
guests.

On Arm require VIRTIO_F_ACCESS_PLATFORM for devices having been listed
in the device tree to use grants.

Add a new config item to always force use of grants for virtio.

Fixes: fa1f57421e0b ("xen/virtio: Enable restricted memory access using Xen grant mappings")
Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Tested-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> # Arm64 guest using Xen
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Link: https://lore.kernel.org/r/20220622063838.8854-4-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
arch/arm/xen/enlighten.c
arch/x86/xen/enlighten_hvm.c
arch/x86/xen/enlighten_pv.c
drivers/xen/Kconfig
drivers/xen/grant-dma-ops.c
include/xen/xen-ops.h
include/xen/xen.h