linux/arch/loongarch/kernel
Huacai Chen d279134168 LoongArch: Use TLB for ioremap()
We can support more cache attributes (e.g., CC, SUC and WUC) and page
protection when we use TLB for ioremap(). The implementation is based
on GENERIC_IOREMAP.

The existing simple ioremap() implementation has better performance so
we keep it and introduce ARCH_IOREMAP to control the selection.

We move pagetable_init() earlier to make early ioremap() works, and we
modify the PCI ecam mapping because the TLB-based version of ioremap()
will actually take the size into account.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-10-12 16:36:14 +08:00
..
.gitignore
access-helper.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
acpi.c LoongArch: Fix section mismatch due to acpi_os_ioremap() 2022-09-03 18:01:27 +08:00
asm-offsets.c LoongArch changes for v5.20 2022-08-12 09:44:23 -07:00
cacheinfo.c LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
cpu-probe.c LoongArch: Fix cpu name after CPU-hotplug 2022-10-12 16:36:08 +08:00
dma.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
efi-header.S efi/loongarch: Add efistub booting support 2022-09-06 11:19:34 +02:00
efi.c efi/loongarch: libstub: remove dependency on flattened DT 2022-09-27 13:22:49 +02:00
elf.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
entry.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
env.c efi/loongarch: libstub: remove dependency on flattened DT 2022-09-27 13:22:49 +02:00
fpu.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
genex.S LoongArch: Re-tab the assembly files 2022-07-29 18:22:32 +08:00
head.S LoongArch: Adjust symbol addressing for AS_HAS_EXPLICIT_RELOCS 2022-10-12 16:36:08 +08:00
idle.c LoongArch: Add process management 2022-06-03 20:09:28 +08:00
image-vars.h efi/libstub: use EFI provided memcpy/memset routines 2022-09-17 15:13:21 +02:00
inst.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
io.c LoongArch: Add misc common routines 2022-06-03 20:09:28 +08:00
irq.c irqchip: Add LoongArch CPU interrupt controller support 2022-07-20 12:09:21 +01:00
Makefile LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
mem.c
module-sections.c LoongArch: Support R_LARCH_GOT_PC_{LO12,HI20} in modules 2022-10-12 16:36:14 +08:00
module.c LoongArch: Support R_LARCH_GOT_PC_{LO12,HI20} in modules 2022-10-12 16:36:14 +08:00
numa.c LoongArch: Fix section mismatch warning 2022-07-07 17:41:01 +08:00
proc.c LoongArch: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK 2022-08-12 13:10:10 +08:00
process.c LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
ptrace.c LoongArch: Fix missing fcsr in ptrace's fpr_set 2022-07-29 18:22:33 +08:00
reset.c LoongArch: Cleanup reset routines with new API 2022-08-25 19:34:59 +08:00
setup.c LoongArch: Use TLB for ioremap() 2022-10-12 16:36:14 +08:00
signal.c LoongArch: Adjust arch_do_signal_or_restart() to adapt generic entry 2022-09-03 18:01:27 +08:00
smp.c LoongArch: Do not create sysfs control file for io master CPUs 2022-10-12 16:36:08 +08:00
stacktrace.c LoongArch: Add USER_STACKTRACE support 2022-08-12 13:10:11 +08:00
switch.S LoongArch: Add STACKTRACE support 2022-08-12 13:10:11 +08:00
syscall.c LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
time.c LoongArch: Fix unsigned comparison with less than zero 2022-08-12 13:10:10 +08:00
topology.c LoongArch: Do not create sysfs control file for io master CPUs 2022-10-12 16:36:08 +08:00
traps.c LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
unwind_guess.c LoongArch: Add guess unwinder support 2022-08-12 13:10:11 +08:00
unwind_prologue.c LoongArch: Add prologue unwinder support 2022-08-12 13:10:11 +08:00
vdso.c LoongArch: Add vDSO syscall __vdso_getcpu() 2022-08-12 13:10:11 +08:00
vmlinux.lds.S LoongArch: Adjust symbol addressing for AS_HAS_EXPLICIT_RELOCS 2022-10-12 16:36:08 +08:00