MIPS: Add NUMA support for Loongson-3
authorHuacai Chen <chenhc@lemote.com>
Thu, 26 Jun 2014 03:41:28 +0000 (11:41 +0800)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 30 Jul 2014 19:46:19 +0000 (21:46 +0200)
commitc46173183657bbdbe0d54a981c28807581648422
tree554d75cfc577d82c043b3e2fca17819abd63033b
parent140e39c1e3d29f50e161f55cca60f60b80408c2a
MIPS: Add NUMA support for Loongson-3

Multiple Loongson-3A chips can be interconnected with HT0-bus. This is
a CC-NUMA system that every chip (node) has its own local memory and
cache coherency is maintained by hardware. The 64-bit physical memory
address format is as follows:

0x-0000-YZZZ-ZZZZ-ZZZZ

The high 16 bits should be 0, which means the real physical address
supported by Loongson-3 is 48-bit. The "Y" bits is the base address of
each node, which can be also considered as the node-id. The "Z" bits is
the address offset within a node, which means every node has a 44 bits
address space.

Macros XPHYSADDR and MAX_PHYSMEM_BITS are modified unconditionally,
because many other MIPS CPUs have also extended their address spaces.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: John Crispin <john@phrozen.org>
Cc: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: Aurelien Jarno <aurelien@aurel32.net>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/7187/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
13 files changed:
arch/mips/include/asm/addrspace.h
arch/mips/include/asm/mach-loongson/boot_param.h
arch/mips/include/asm/mach-loongson/kernel-entry-init.h [new file with mode: 0644]
arch/mips/include/asm/mach-loongson/mmzone.h [new file with mode: 0644]
arch/mips/include/asm/mach-loongson/topology.h [new file with mode: 0644]
arch/mips/include/asm/sparsemem.h
arch/mips/kernel/setup.c
arch/mips/loongson/Kconfig
arch/mips/loongson/common/env.c
arch/mips/loongson/common/init.c
arch/mips/loongson/loongson-3/Makefile
arch/mips/loongson/loongson-3/numa.c [new file with mode: 0644]
arch/mips/loongson/loongson-3/smp.c