forked from Minki/linux
swiotlb-xen: this is PV-only on x86
The code is unreachable for HVM or PVH, and it also makes little sense in auto-translated environments. On Arm, with xen_{create,destroy}_contiguous_region() both being stubs, I have a hard time seeing what good the Xen specific variant does - the generic one ought to be fine for all purposes there. Still Arm code explicitly references symbols here, so the code will continue to be included there. Instead of making PCI_XEN's "select" conditional, simply drop it - SWIOTLB_XEN will be available unconditionally in the PV case anyway, and is - as explained above - dead code in non-PV environments. This in turn allows dropping the stubs for xen_{create,destroy}_contiguous_region(), the former of which was broken anyway - it failed to set the DMA handle output. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Link: https://lore.kernel.org/r/5947b8ae-fdc7-225c-4838-84712265fc1e@suse.com Signed-off-by: Juergen Gross <jgross@suse.com>
This commit is contained in:
parent
8e1034a526
commit
794d5b8a49
@ -2605,7 +2605,6 @@ config PCI_OLPC
|
||||
config PCI_XEN
|
||||
def_bool y
|
||||
depends on PCI && XEN
|
||||
select SWIOTLB_XEN
|
||||
|
||||
config MMCONF_FAM10H
|
||||
def_bool y
|
||||
|
@ -177,6 +177,7 @@ config XEN_GRANT_DMA_ALLOC
|
||||
|
||||
config SWIOTLB_XEN
|
||||
def_bool y
|
||||
depends on XEN_PV || ARM || ARM64
|
||||
select DMA_OPS
|
||||
select SWIOTLB
|
||||
|
||||
|
@ -46,19 +46,7 @@ extern unsigned long *xen_contiguous_bitmap;
|
||||
int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
|
||||
unsigned int address_bits,
|
||||
dma_addr_t *dma_handle);
|
||||
|
||||
void xen_destroy_contiguous_region(phys_addr_t pstart, unsigned int order);
|
||||
#else
|
||||
static inline int xen_create_contiguous_region(phys_addr_t pstart,
|
||||
unsigned int order,
|
||||
unsigned int address_bits,
|
||||
dma_addr_t *dma_handle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void xen_destroy_contiguous_region(phys_addr_t pstart,
|
||||
unsigned int order) { }
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_XEN_PV)
|
||||
|
Loading…
Reference in New Issue
Block a user