Commit 8e47c5f0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-linus-5.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen updates from Juergen Gross:

 - remove some PV ACPI cpu/memory hotplug code which has been broken for
   a long time

 - support direct mapped guests (other than dom0) on Arm

 - several small fixes and cleanups

* tag 'for-linus-5.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/arm: introduce XENFEAT_direct_mapped and XENFEAT_not_direct_mapped
  xen-pciback: simplify vpci's find hook
  xen-blkfront: Fix 'physical' typos
  xen-blkback: fix compatibility bug with single page rings
  xen: Remove support for PV ACPI cpu/memory hotplug
  xen/pciback: Fix incorrect type warnings
parents 31a24ae8 f5079a9a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
#include <xen/arm/swiotlb-xen.h>
+13 −1
Original line number Diff line number Diff line
@@ -135,10 +135,22 @@ void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order)
	return;
}

int xen_swiotlb_detect(void)
{
	if (!xen_domain())
		return 0;
	if (xen_feature(XENFEAT_direct_mapped))
		return 1;
	/* legacy case */
	if (!xen_feature(XENFEAT_not_direct_mapped) && xen_initial_domain())
		return 1;
	return 0;
}

static int __init xen_mm_init(void)
{
	struct gnttab_cache_flush cflush;
	if (!xen_initial_domain())
	if (!xen_swiotlb_detect())
		return 0;
	xen_swiotlb_init(1, false);

+1 −0
Original line number Diff line number Diff line
#include <xen/arm/swiotlb-xen.h>
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
		iommu_setup_dma_ops(dev, dma_base, size);

#ifdef CONFIG_XEN
	if (xen_initial_domain())
	if (xen_swiotlb_detect())
		dev->dma_ops = &xen_swiotlb_dma_ops;
#endif
}
+1 −0
Original line number Diff line number Diff line
@@ -313,6 +313,7 @@ struct xen_blkif {

	struct work_struct	free_work;
	unsigned int 		nr_ring_pages;
	bool			multi_ref;
	/* All rings for this device. */
	struct xen_blkif_ring	*rings;
	unsigned int		nr_rings;
Loading