]> Git Repo - linux.git/commit
LoongArch: Add Non-Uniform Memory Access (NUMA) support
authorHuacai Chen <[email protected]>
Tue, 31 May 2022 10:04:12 +0000 (18:04 +0800)
committerHuacai Chen <[email protected]>
Fri, 3 Jun 2022 12:09:29 +0000 (20:09 +0800)
commitd4b6f1562a3c3284adcef81d6e4f183d7d34b8a9
tree365dc4b9e63fe8b038078a8fe6e8b8acb32527b1
parent46859ac8af52ae599e1b51992ddef3eb43f295fc
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 <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Signed-off-by: Huacai Chen <[email protected]>
17 files changed:
arch/loongarch/Kconfig
arch/loongarch/include/asm/bootinfo.h
arch/loongarch/include/asm/dma-direct.h [new file with mode: 0644]
arch/loongarch/include/asm/mmzone.h [new file with mode: 0644]
arch/loongarch/include/asm/numa.h [new file with mode: 0644]
arch/loongarch/include/asm/pgtable.h
arch/loongarch/include/asm/topology.h
arch/loongarch/kernel/Makefile
arch/loongarch/kernel/acpi.c
arch/loongarch/kernel/dma.c [new file with mode: 0644]
arch/loongarch/kernel/module.c
arch/loongarch/kernel/numa.c [new file with mode: 0644]
arch/loongarch/kernel/setup.c
arch/loongarch/kernel/smp.c
arch/loongarch/kernel/traps.c
arch/loongarch/mm/init.c
arch/loongarch/mm/tlb.c
This page took 0.060639 seconds and 4 git commands to generate.