diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2019-07-03 10:30:58 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2019-07-08 11:32:21 +0100 |
commit | 5ccd3bd992cf668b5a6fa1713da7b443a35e2930 (patch) | |
tree | e55f60946cf658ab396a1a0401833b67e71de196 /arch/arm/mm/init.c | |
parent | ARM: 8867/1: vdso: pass --be8 to linker if necessary (diff) | |
parent | ARM: 8863/1: stm32: select ARM errata 814220 (diff) | |
download | wireguard-linux-5ccd3bd992cf668b5a6fa1713da7b443a35e2930.tar.xz wireguard-linux-5ccd3bd992cf668b5a6fa1713da7b443a35e2930.zip |
Merge branches 'fixes' and 'misc'
Fix up the conflict between "VDSO: Drop implicit common-page-size
linker flag" and "vdso: pass --be8 to linker if necessary"
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mm/init.c')
-rw-r--r-- | arch/arm/mm/init.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index be0b42937888..581c6ffc3056 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -242,6 +242,22 @@ static void __init arm_initrd_init(void) #endif } +#ifdef CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND +void check_cpu_icache_size(int cpuid) +{ + u32 size, ctr; + + asm("mrc p15, 0, %0, c0, c0, 1" : "=r" (ctr)); + + size = 1 << ((ctr & 0xf) + 2); + if (cpuid != 0 && icache_size != size) + pr_info("CPU%u: detected I-Cache line size mismatch, workaround enabled\n", + cpuid); + if (icache_size > size) + icache_size = size; +} +#endif + void __init arm_memblock_init(const struct machine_desc *mdesc) { /* Register the kernel text, kernel data and initrd with memblock. */ @@ -450,12 +466,6 @@ static void __init free_highpages(void) */ void __init mem_init(void) { -#ifdef CONFIG_HAVE_TCM - /* These pointers are filled in on TCM detection */ - extern u32 dtcm_end; - extern u32 itcm_end; -#endif - set_max_mapnr(pfn_to_page(max_pfn) - mem_map); /* this will put all unused low memory onto the freelists */ |