linux/arch/arm64/include/asm
Oleksandr Tyshchenko 9bf22421dc arm/xen: Introduce xen_setup_dma_ops()
This patch introduces new helper and places it in new header.
The helper's purpose is to assign any Xen specific DMA ops in
a single place. For now, we deal with xen-swiotlb DMA ops only.
The one of the subsequent commits in current series will add
xen-grant DMA ops case.

Also re-use the xen_swiotlb_detect() check on Arm32.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
[For arm64]
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/1654197833-25362-2-git-send-email-olekstysh@gmail.com
Signed-off-by: Juergen Gross <jgross@suse.com>
2022-06-06 08:54:33 +02:00
..
vdso arm64: vdso32: drop test for -march=armv8-a 2021-10-21 10:31:38 +01:00
xen arm/xen: Introduce xen_setup_dma_ops() 2022-06-06 08:54:33 +02:00
acenv.h
acpi.h Revert "ACPI: Add memory semantics to acpi_os_map_memory()" 2021-09-23 20:39:36 +02:00
alternative-macros.h Merge branch 'for-next/insn' into for-next/core 2021-06-24 14:03:24 +01:00
alternative.h arm64: alternatives: Split up alternative.h 2020-11-09 21:49:34 +00:00
apple_m1_pmu.h drivers/perf: Add Apple icestorm/firestorm CPU PMU driver 2022-03-08 13:32:48 +00:00
arch_gicv3.h irqchip/gic-v3: Refactor ISB + EOIR at ack time 2022-05-15 16:38:25 +01:00
arch_timer.h arm64: Add CNT{P,V}CTSS_EL0 alternatives to cnt{p,v}ct_el0 2021-10-19 10:56:20 +01:00
archrandom.h arm64/sysreg: Standardise ID_AA64ISAR0_EL1 macro names 2022-05-04 15:30:28 +01:00
arm_dsu_pmu.h
arm-cci.h
asm_pointer_auth.h arm64: Add support of PAuth QARMA3 architected algorithm 2022-02-25 13:38:52 +00:00
asm-bug.h bug: Use normal relative pointers in 'struct bug_entry' 2022-05-19 23:46:10 +02:00
asm-extable.h arm64: extable: add load_unaligned_zeropad() handler 2021-10-21 10:45:22 +01:00
asm-offsets.h
asm-prototypes.h kasan: arm64: support specialized outlined tag mismatch checks 2021-05-26 23:31:26 +01:00
asm-uaccess.h arm64: extable: consolidate definitions 2021-10-21 10:45:22 +01:00
assembler.h Merge branch 'for-next/spectre-bhb' into for-next/core 2022-03-14 19:08:31 +00:00
atomic_ll_sc.h arm64: atomics: format whitespace consistently 2021-12-14 13:00:23 +00:00
atomic_lse.h arm64: atomics: lse: Dereference matching size 2022-01-20 09:13:48 +00:00
atomic.h locking/atomic: make ARCH_ATOMIC a Kconfig symbol 2021-05-26 13:20:49 +02:00
barrier.h arm64: Add wfet()/wfit() helpers 2022-04-20 13:24:44 +01:00
bitops.h include: move find.h from asm_generic to linux 2022-01-15 08:47:31 -08:00
bitrev.h
boot.h
brk-imm.h arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line 2020-11-03 14:03:38 +00:00
bug.h
cache.h mm: make minimum slab alignment a runtime property 2022-05-13 07:20:07 -07:00
cacheflush.h set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
checksum.h arm64: csum: cast to the proper type 2021-03-15 10:57:21 +00:00
clocksource.h
cmpxchg.h arm64: atomics: lse: Dereference matching size 2022-01-20 09:13:48 +00:00
compat.h asm-generic: compat: Cleanup duplicate definitions 2022-04-26 13:35:54 -07:00
compiler.h cfi: Use __builtin_function_start 2022-04-13 12:16:00 -07:00
cpu_ops.h
cpu.h arm64/sme: Identify supported SME vector lengths at boot 2022-04-22 18:50:51 +01:00
cpufeature.h arm64/sme: Implement support for TPIDR2 2022-04-22 18:50:56 +01:00
cpuidle.h arm64: Add cpuidle context save/restore helpers 2021-06-17 18:00:39 +01:00
cputype.h S390: 2022-05-26 14:20:14 -07:00
current.h
daifflags.h arm64: entry: always set GIC_PRIO_PSR_I_SET during entry 2021-05-05 18:13:58 +01:00
dcc.h
debug-monitors.h arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
device.h
dmi.h
efi.h efi: Move efifb_setup_from_dmi() prototype from arch headers 2021-12-13 15:07:16 +01:00
el2_setup.h arm64/sme: Drop SYS_ from SMIDR_EL1 defines 2022-05-16 19:50:20 +01:00
elf.h arm64: exec: Adjust affinity for compat tasks with mismatched 32-bit EL0 2021-08-20 12:33:06 +02:00
esr.h S390: 2022-05-26 14:20:14 -07:00
exception.h Merge branch 'for-next/esr-elx-64-bit' into for-next/core 2022-05-20 18:51:54 +01:00
exec.h arm64: uaccess: remove set_fs() 2020-12-02 19:49:11 +00:00
extable.h arm64/bpf: Remove 128MB limit for BPF JIT programs 2021-11-08 22:16:26 +01:00
fb.h
fixmap.h arm64: entry: Allow the trampoline text to occupy multiple pages 2022-02-15 17:40:28 +00:00
fpsimd.h arm64/sme: Remove _EL0 from name of SVCR - FIXME sysreg.h 2022-05-16 19:50:20 +01:00
fpsimdmacros.h arm64/sme: Implement ZA context switching 2022-04-22 18:51:02 +01:00
ftrace.h arm64/ftrace: Make function graph use ftrace directly 2022-04-29 19:21:12 +01:00
futex.h arm64: extable: add a dedicated uaccess handler 2021-10-21 10:45:22 +01:00
gpr-num.h arm64: gpr-num: support W registers 2021-10-21 10:45:22 +01:00
hardirq.h arm64: irqstat: Get rid of duplicated declaration 2020-11-23 10:31:05 +01:00
hugetlb.h Yang Shi has improved the behaviour of khugepaged collapsing of readonly 2022-05-26 12:32:41 -07:00
hw_breakpoint.h
hwcap.h Merge branch kvm-arm64/wfxt into kvmarm-master/next 2022-05-04 09:42:16 +01:00
hyp_image.h KVM: arm64: Allow using kvm_nvhe_sym() in hyp code 2021-03-19 12:01:20 +00:00
hyperv-tlfs.h PCI: hv: Add arm64 Hyper-V vPCI support 2022-01-12 08:24:29 -06:00
hypervisor.h arm/arm64: Probe for the presence of KVM hypervisor 2021-03-31 09:16:55 +01:00
image.h
insn-def.h arm64: move AARCH64_BREAK_FAULT into insn-def.h 2022-02-22 21:25:48 +00:00
insn.h arm64, insn: Add ldr/str with immediate offset 2022-04-01 00:27:29 +02:00
io.h arm[64]/memremap: don't abuse pfn_valid() to ensure presence of linear map 2022-05-09 17:34:28 -07:00
irq_work.h arm64: smp: Add missing prototype for some smp.c functions 2021-03-29 10:41:42 +01:00
irq.h arm64: irq: allow FIQs to be handled 2021-03-24 20:19:30 +00:00
irqflags.h arm64: Always keep DAIF.[IF] in sync 2021-03-24 20:19:30 +00:00
jump_label.h
kasan.h arm64: kasan: simplify and inline MTE functions 2021-02-26 09:41:03 -08:00
Kbuild arm64/sysreg: Enable automatic generation of system register definitions 2022-05-04 15:30:28 +01:00
kernel-pgtable.h arm64: head: avoid over-mapping in map_memory 2021-08-24 16:44:23 +01:00
kexec.h arm64: kexec: remove cpu-reset.h 2021-10-01 13:31:00 +01:00
kfence.h set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
kgdb.h
kprobes.h kprobes: treewide: Make it harder to refer kretprobe_trampoline directly 2021-09-30 21:24:06 -04:00
kvm_arm.h Merge branch kvm-arm64/aarch32-idreg-trap into kvmarm-master/next 2022-05-04 09:42:45 +01:00
kvm_asm.h KVM: arm64: Add guard pages for KVM nVHE hypervisor stack 2022-04-28 20:53:13 +01:00
kvm_emulate.h S390: 2022-05-26 14:20:14 -07:00
kvm_host.h S390: 2022-05-26 14:20:14 -07:00
kvm_hyp.h arm64: Add support of PAuth QARMA3 architected algorithm 2022-02-25 13:38:52 +00:00
kvm_mmu.h KVM: arm64: Add guard pages for KVM nVHE hypervisor stack 2022-04-28 20:53:13 +01:00
kvm_mte.h KVM: arm64: Save/restore MTE registers 2021-06-22 14:08:05 +01:00
kvm_pgtable.h Merge branch kvm-arm64/misc-5.17 into kvmarm-master/next 2022-01-04 17:16:15 +00:00
kvm_pkvm.h KVM: arm64: Move host EL1 code out of hyp/ directory 2021-12-06 08:37:03 +00:00
kvm_ptrauth.h KVM: arm64: Update context references from host to hyp 2020-09-15 18:39:02 +01:00
kvm_ras.h KVM: arm64: Treat ESR_EL2 as a 64-bit register 2022-04-29 19:26:27 +01:00
kvm_types.h
linkage.h arm64: clean up symbol aliasing 2022-02-22 16:21:34 +00:00
lse.h arm64: atomics: remove redundant static branch 2022-02-15 17:54:08 +00:00
memory.h arm64/bpf: Remove 128MB limit for BPF JIT programs 2021-11-08 22:16:26 +01:00
mman.h arm64/mm: enable ARCH_HAS_VM_GET_PAGE_PROT 2022-04-28 23:16:13 -07:00
mmu_context.h arm64: hibernate: abstract ttrb0 setup function 2021-10-01 13:30:59 +01:00
mmu.h arm64: Add missing include of asm/cpufeature.h to asm/mmu.h 2021-12-06 08:37:03 +00:00
mmzone.h
module.h
module.lds.h arm64: module: remove (NOLOAD) from linker script 2022-02-25 14:06:50 +00:00
mshyperv.h arm64: hyperv: Add Hyper-V hypercall and register access utilities 2021-08-04 16:54:36 +00:00
mte-def.h arm64: mte: Define the number of bytes for storing the tags in a page 2022-02-15 22:53:29 +00:00
mte-kasan.h printk: stop including cache.h from printk.h 2022-05-13 07:20:07 -07:00
mte.h arm64: Add support for user sub-page fault probing 2022-04-25 10:25:43 +01:00
neon-intrinsics.h
neon.h
numa.h numa: Move numa implementation to common code 2021-01-14 15:08:55 -08:00
page-def.h
page.h arm64/mm: drop HAVE_ARCH_PFN_VALID 2021-10-01 14:54:45 +01:00
paravirt_api_clock.h sched/headers: Add initial new headers as identity mappings 2022-02-23 10:58:28 +01:00
paravirt.h x86/paravirt: Switch time pvops functions to use static_call() 2021-03-11 16:17:52 +01:00
patching.h arm64: insn: decouple patching from insn code 2021-06-11 11:19:27 +01:00
pci.h arm64: Enable PCI write-combine resources under sysfs 2020-09-18 14:05:13 +01:00
percpu.h printk: stop including cache.h from printk.h 2022-05-13 07:20:07 -07:00
perf_event.h arm64: perf: Consistently make all event numbers as 16-bits 2022-03-08 11:41:03 +00:00
pgalloc.h arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd 2021-11-16 10:12:57 +00:00
pgtable-hwdef.h arm64/mm: Compute PTRS_PER_[PMD|PUD] independently of PTRS_PER_PTE 2022-04-22 14:45:58 +01:00
pgtable-prot.h arm64/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE 2022-05-09 18:20:46 -07:00
pgtable-types.h
pgtable.h Yang Shi has improved the behaviour of khugepaged collapsing of readonly 2022-05-26 12:32:41 -07:00
pointer_auth.h arm64: move preemption disablement to prctl handlers 2021-07-28 18:33:49 +01:00
preempt.h arm64: Support PREEMPT_DYNAMIC 2022-02-19 11:11:09 +01:00
probes.h arm64/fpsimd: add <asm/insn.h> to <asm/kprobes.h> to fix fpsimd build 2020-11-23 10:59:00 +00:00
proc-fns.h
processor.h powerpc updates for 5.19 2022-05-28 11:27:17 -07:00
ptdump.h arm64: Add __init section marker to some functions 2021-04-08 17:45:10 +01:00
ptrace.h arm64: fix compat syscall return truncation 2021-08-03 10:35:03 +01:00
pvclock-abi.h
rwonce.h arm64: Do not include __READ_ONCE() block in assembly files 2022-03-09 21:56:50 +00:00
scs.h arm64: scs: Drop unused 'tmp' argument to scs_{load, save} asm macros 2021-05-27 17:55:33 +01:00
sdei.h Merge branch 'for-next/entry' into for-next/core 2021-06-24 14:01:55 +01:00
seccomp.h arm64: Enable seccomp architecture tracking 2020-11-20 11:16:34 -08:00
sections.h arm64: entry: Allow the trampoline text to occupy multiple pages 2022-02-15 17:40:28 +00:00
set_memory.h set_memory: allow querying whether set_direct_map_*() is actually enabled 2021-07-08 11:48:20 -07:00
setup.h arm64: asm: setup.h: export common variables 2021-10-12 09:22:33 +01:00
shmparam.h
signal32.h
signal.h arm64: expose FAR_EL1 tag bits in siginfo 2020-11-23 18:17:39 +00:00
simd.h arm64: replace in_irq() with in_hardirq() 2021-08-20 19:49:38 +01:00
smp_plat.h arm64: Add missing header <asm/smp.h> in two files 2021-07-12 13:37:34 +01:00
smp.h arm64: smp: remove stack from secondary_data 2021-05-26 22:45:46 +01:00
sparsemem.h arm64: Force SPARSEMEM_VMEMMAP as the only memory management model 2021-04-23 14:18:21 +01:00
spectre.h Merge branch 'for-next/spectre-bhb' into for-next/core 2022-03-14 19:08:31 +00:00
spinlock_types.h locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h 2021-12-07 15:14:12 +01:00
spinlock.h locking/arch: Move qrwlock.h include after qspinlock.h 2021-02-11 07:59:54 -05:00
stack_pointer.h
stackprotector.h arm64: Defer enabling pointer authentication on boot core 2021-02-09 13:50:57 +00:00
stacktrace.h arm64: stacktrace: make struct stackframe private to stacktrace.c 2022-04-22 15:33:13 +01:00
stage2_pgtable.h
stat.h
string.h Revert "arm64: Mitigate MTE issues with str{n}cmp()" 2022-03-07 21:57:02 +00:00
suspend.h
sync_bitops.h
syscall_wrapper.h
syscall.h arch: remove unused function syscall_set_arguments() 2021-09-14 16:06:20 +02:00
sysreg.h arm64/sysreg: Generate definitions for FAR_ELx 2022-05-20 18:49:58 +01:00
system_misc.h arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
thread_info.h arm64/sme: Implement SVCR context switching 2022-04-22 18:50:58 +01:00
timex.h
tlb.h arm64: tlb: fix the TTL value of tlb_get_level 2021-06-23 14:52:57 +01:00
tlbflush.h arm64: mm: Fix TLBI vs ASID rollover 2021-08-06 13:52:03 +01:00
topology.h arm64, topology: enable use of init_cpu_capacity_cppc() 2022-03-10 20:21:58 +01:00
trans_pgd.h arm64: trans_pgd: remove trans_pgd_map_page() 2021-10-01 13:31:01 +01:00
traps.h arm64: Treat ESR_ELx as a 64-bit register 2022-04-29 19:26:27 +01:00
uaccess.h arm64: Add support for user sub-page fault probing 2022-04-25 10:25:43 +01:00
unistd32.h mm/mempolicy: wire up syscall set_mempolicy_home_node 2022-01-15 16:30:30 +02:00
unistd.h fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT 2022-04-26 13:35:45 -07:00
uprobes.h
vdso.h
vectors.h arm64: fix clang warning about TRAMP_VALIAS 2022-03-18 13:48:28 +00:00
vermagic.h
virt.h arm64: trans_pgd: hibernate: Add trans_pgd_copy_el2_vectors 2021-10-01 13:30:59 +01:00
vmalloc.h kasan, vmalloc, arm64: mark vmalloc mappings as pgprot_tagged 2022-03-24 19:06:47 -07:00
vmap_stack.h kasan, arm64: reset pointer tags of vmapped stacks 2022-03-24 19:06:47 -07:00
word-at-a-time.h arm64: extable: add load_unaligned_zeropad() handler 2021-10-21 10:45:22 +01:00
xor.h lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00