This patchset is prepared for the next 4.20 release for Linux/MIPS. It enable Loongson-3's SFB at runtime, adds "model name" and "CPU MHz" knobs in /proc/cpuinfo which is needed by some userspace tools, adds Loongson-3 kexec/kdump support, fixes CPU UART and BRIDGE irq delivery problem, and introduces WAR_LLSC_MB to improve stability. V1 -> V2: 1, Add Loongson-3A R3.1 basic support. 2, Fix CPU UART irq delivery problem. 3, Improve code and descriptions (Thank James Hogan). 4, Sync the code to upstream. V2 -> V3: 1, Remove merged patches. 2, Improve code and descriptions (Thank James Hogan). 3, Sync the code to upstream. V3 -> V4: 1, Remove merged patches. 2, Improve kdump support. 3, Sync the code to upstream. Huacai Chen(10): MIPS: Loongson-3: Enable Store Fill Buffer at runtime. MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3. MIPS: Ensure pmd_present() returns false after pmd_mknotpresent(). MIPS: Add __cpu_full_name[] to make CPU names more human-readable. MIPS: Align kernel load address to 64KB. MIPS: Reserve extra memory for crash dump. MIPS: Loongson: Add kexec/kdump support. MIPS: Loongson-3: Fix CPU UART irq delivery problem. MIPS: Loongson-3: Fix BRIDGE irq delivery problem. MIPS: Loongson: Introduce and use WAR_LLSC_MB. Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx> --- arch/mips/boot/compressed/calc_vmlinuz_load_addr.c | 7 +- arch/mips/include/asm/atomic.h | 36 +++++-- arch/mips/include/asm/barrier.h | 6 ++ arch/mips/include/asm/bitops.h | 15 +++ arch/mips/include/asm/cmpxchg.h | 9 +- arch/mips/include/asm/cpu-info.h | 2 + arch/mips/include/asm/edac.h | 5 +- arch/mips/include/asm/futex.h | 18 ++-- arch/mips/include/asm/io.h | 2 +- arch/mips/include/asm/kexec.h | 15 +++ arch/mips/include/asm/local.h | 10 +- arch/mips/include/asm/mach-loongson64/boot_param.h | 1 + arch/mips/include/asm/mach-loongson64/irq.h | 2 +- .../asm/mach-loongson64/kernel-entry-init.h | 16 ++- arch/mips/include/asm/mach-loongson64/mmzone.h | 1 + arch/mips/include/asm/mmzone.h | 8 ++ arch/mips/include/asm/pgtable-64.h | 5 + arch/mips/include/asm/pgtable.h | 5 +- arch/mips/include/asm/r4kcache.h | 25 +++++ arch/mips/include/asm/time.h | 2 + arch/mips/kernel/cpu-probe.c | 25 +++-- arch/mips/kernel/proc.c | 7 ++ arch/mips/kernel/relocate_kernel.S | 26 +++++ arch/mips/kernel/setup.c | 55 ++++++++++ arch/mips/kernel/syscall.c | 2 + arch/mips/kernel/time.c | 2 + arch/mips/loongson64/Platform | 3 + arch/mips/loongson64/common/env.c | 20 ++++ arch/mips/loongson64/common/reset.c | 120 +++++++++++++++++++++ arch/mips/loongson64/loongson-3/irq.c | 56 ++-------- arch/mips/loongson64/loongson-3/smp.c | 6 ++ arch/mips/loongson64/loongson-3/smp.h | 1 + arch/mips/mm/c-r4k.c | 44 ++++++-- arch/mips/mm/tlbex.c | 11 ++ 34 files changed, 476 insertions(+), 92 deletions(-) -- 2.7.0