[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH 6/6] arm/xen: Assign xen-virtio DMA ops for virtio devices in Xen guests
On 16.04.22 01:02, Stefano Stabellini wrote: Hello Stefano On Thu, 14 Apr 2022, Oleksandr Tyshchenko wrote:From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Call xen_virtio_setup_dma_ops() only for Xen-aware virtio devices in Xen guests if restricted access to the guest memory is enabled. Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> --- include/xen/arm/xen-ops.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/xen/arm/xen-ops.h b/include/xen/arm/xen-ops.h index 621da05..28b2ad3 100644 --- a/include/xen/arm/xen-ops.h +++ b/include/xen/arm/xen-ops.h @@ -2,12 +2,19 @@ #ifndef _ASM_ARM_XEN_OPS_H #define _ASM_ARM_XEN_OPS_H+#include <linux/virtio_config.h>#include <xen/swiotlb-xen.h> +#include <xen/xen-ops.h>static inline void xen_setup_dma_ops(struct device *dev){ if (xen_swiotlb_detect()) dev->dma_ops = &xen_swiotlb_dma_ops; + +#ifdef CONFIG_XEN_VIRTIO + if (arch_has_restricted_virtio_memory_access() && xen_is_virtio_device(dev)) + xen_virtio_setup_dma_ops(dev); +#endifThis makes sense overall. thank you Considering that the swiotlb-xen case and the virtio case are mutually exclusive, I would write it like this: if (arch_has_restricted_virtio_memory_access() && xen_is_virtio_device(dev)) xen_virtio_setup_dma_ops(dev); else if (xen_swiotlb_detect()) dev->dma_ops = &xen_swiotlb_dma_ops; Agree, will do There is no need for #ifdef (also see other comments). Agree, if !CONFIG_XEN_VIRTIO then xen_virtio_ are just stubs. #ifdef CONFIG_XEN_VIRTIO void xen_virtio_setup_dma_ops(struct device *dev); bool xen_is_virtio_device(struct device *dev); #else static inline void xen_virtio_setup_dma_ops(struct device *dev) { } static inline bool xen_is_virtio_device(struct device *dev) { return false; } #endif /* CONFIG_XEN_VIRTIO */ -- Regards, Oleksandr Tyshchenko
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |