linux-stable/arch/loongarch/kernel
Huacai Chen d4b6f1562a LoongArch: Add Non-Uniform Memory Access (NUMA) support
Add Non-Uniform Memory Access (NUMA) support for LoongArch. LoongArch
has 48-bit physical address, but the HyperTransport I/O bus only support
40-bit address, so we need a custom phys_to_dma() and dma_to_phys() to
extract the 4-bit node id (bit 44~47) from Loongson-3's 48-bit physical
address space and embed it into 40-bit. In the 40-bit dma address, node
id offset can be read from the LS7A_DMA_CFG register.

Reviewed-by: WANG Xuerui <git@xen0n.name>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2022-06-03 20:09:29 +08:00
..
.gitignore
access-helper.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
acpi.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
asm-offsets.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
cacheinfo.c
cpu-probe.c
dma.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
efi.c
elf.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
entry.S LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
env.c
fpu.S LoongArch: Add process management 2022-06-03 20:09:28 +08:00
genex.S LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
head.S LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
idle.c LoongArch: Add process management 2022-06-03 20:09:28 +08: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 LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
Makefile LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
mem.c
module-sections.c LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
module.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
numa.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
proc.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
process.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
ptrace.c LoongArch: Add process management 2022-06-03 20:09:28 +08:00
reset.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
setup.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
signal.c LoongArch: Add signal handling support 2022-06-03 20:09:28 +08:00
smp.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
switch.S LoongArch: Add process management 2022-06-03 20:09:28 +08:00
syscall.c LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
time.c LoongArch: Add VDSO and VSYSCALL support 2022-06-03 20:09:28 +08:00
topology.c LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
traps.c LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
vdso.c LoongArch: Add VDSO and VSYSCALL support 2022-06-03 20:09:28 +08:00
vmlinux.lds.S LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00