diff options
author | Juergen Gross <jgross@suse.com> | 2022-06-22 08:38:36 +0200 |
---|---|---|
committer | Juergen Gross <jgross@suse.com> | 2022-08-01 07:42:49 +0200 |
commit | a603002eea8213eec5211be5a85db8340aea06d0 (patch) | |
tree | 5154e240ad4f487a866e74a055671d66b8b12b6d /drivers/virtio/virtio_anchor.c | |
parent | 8441dac05e7f346abc4f63a15d4af0adeabfaa9b (diff) | |
download | linux-a603002eea8213eec5211be5a85db8340aea06d0.tar.gz linux-a603002eea8213eec5211be5a85db8340aea06d0.tar.bz2 linux-a603002eea8213eec5211be5a85db8340aea06d0.zip |
virtio: replace restricted mem access flag with callback
Instead of having a global flag to require restricted memory access
for all virtio devices, introduce a callback which can select that
requirement on a per-device basis.
For convenience add a common function returning always true, which can
be used for use cases like SEV.
Per default use a callback always returning false.
As the callback needs to be set in early init code already, add a
virtio anchor which is builtin in case virtio is enabled.
Signed-off-by: Juergen Gross <jgross@suse.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-2-jgross@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'drivers/virtio/virtio_anchor.c')
-rw-r--r-- | drivers/virtio/virtio_anchor.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_anchor.c b/drivers/virtio/virtio_anchor.c new file mode 100644 index 000000000000..4d6a5d269b55 --- /dev/null +++ b/drivers/virtio/virtio_anchor.c @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only +#include <linux/virtio.h> +#include <linux/virtio_anchor.h> + +bool virtio_require_restricted_mem_acc(struct virtio_device *dev) +{ + return true; +} +EXPORT_SYMBOL_GPL(virtio_require_restricted_mem_acc); + +static bool virtio_no_restricted_mem_acc(struct virtio_device *dev) +{ + return false; +} + +bool (*virtio_check_mem_acc_cb)(struct virtio_device *dev) = + virtio_no_restricted_mem_acc; +EXPORT_SYMBOL_GPL(virtio_check_mem_acc_cb); |