Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64

Pull arm64 fixes from Catalin Marinas:
"Fixes for duplicate definition of early_console, kernel/time/Kconfig
include, __flush_dcache_all() set/way computing, debug (locking, bit
testing). The of_platform_populate() was moved to an arch_init_call()
to allow subsys_init_call() drivers to probe the DT."

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
arm64: debug: fix mdscr.ss check when enabling debug exceptions
arm64: Do not source kernel/time/Kconfig explicitly
arm64: mm: Fix operands of clz in __flush_dcache_all
arm64: Invoke the of_platform_populate() at arch_initcall() level
arm64: debug: clear mdscr_el1 instead of taking the OS lock
arm64: Fix duplicate definition of early_console

+9 -19
-2
arch/arm64/Kconfig
··· 122 122 123 123 menu "Kernel Features" 124 124 125 - source "kernel/time/Kconfig" 126 - 127 125 config ARM64_64K_PAGES 128 126 bool "Enable 64KB pages support" 129 127 help
+1 -1
arch/arm64/include/asm/assembler.h
··· 82 82 83 83 .macro enable_dbg_if_not_stepping, tmp 84 84 mrs \tmp, mdscr_el1 85 - tbnz \tmp, #1, 9990f 85 + tbnz \tmp, #0, 9990f 86 86 enable_dbg 87 87 9990: 88 88 .endm
-2
arch/arm64/kernel/debug-monitors.c
··· 136 136 */ 137 137 static void clear_os_lock(void *unused) 138 138 { 139 - asm volatile("msr mdscr_el1, %0" : : "r" (0)); 140 - isb(); 141 139 asm volatile("msr oslar_el1, %0" : : "r" (0)); 142 140 isb(); 143 141 }
+3 -2
arch/arm64/kernel/early_printk.c
··· 95 95 } 96 96 } 97 97 98 - static struct console early_console = { 98 + static struct console early_console_dev = { 99 99 .name = "earlycon", 100 100 .write = early_write, 101 101 .flags = CON_PRINTBUFFER | CON_BOOT, ··· 145 145 early_base = early_io_map(paddr, EARLYCON_IOBASE); 146 146 147 147 printch = match->printch; 148 - register_console(&early_console); 148 + early_console = &early_console_dev; 149 + register_console(&early_console_dev); 149 150 150 151 return 0; 151 152 }
+3 -9
arch/arm64/kernel/setup.c
··· 282 282 #endif 283 283 } 284 284 285 - static int __init arm64_of_clk_init(void) 285 + static int __init arm64_device_init(void) 286 286 { 287 287 of_clk_init(NULL); 288 + of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 288 289 return 0; 289 290 } 290 - arch_initcall(arm64_of_clk_init); 291 + arch_initcall(arm64_device_init); 291 292 292 293 static DEFINE_PER_CPU(struct cpu, cpu_data); 293 294 ··· 305 304 return 0; 306 305 } 307 306 subsys_initcall(topology_init); 308 - 309 - static int __init arm64_device_probe(void) 310 - { 311 - of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 312 - return 0; 313 - } 314 - device_initcall(arm64_device_probe); 315 307 316 308 static const char *hwcap_str[] = { 317 309 "fp",
+1 -1
arch/arm64/mm/cache.S
··· 52 52 add x2, x2, #4 // add 4 (line length offset) 53 53 mov x4, #0x3ff 54 54 and x4, x4, x1, lsr #3 // find maximum number on the way size 55 - clz x5, x4 // find bit position of way size increment 55 + clz w5, w4 // find bit position of way size increment 56 56 mov x7, #0x7fff 57 57 and x7, x7, x1, lsr #13 // extract max number of the index size 58 58 loop2:
+1 -2
arch/arm64/mm/proc.S
··· 119 119 120 120 mov x0, #3 << 20 121 121 msr cpacr_el1, x0 // Enable FP/ASIMD 122 - mov x0, #1 123 - msr oslar_el1, x0 // Set the debug OS lock 122 + msr mdscr_el1, xzr // Reset mdscr_el1 124 123 tlbi vmalle1is // invalidate I + D TLBs 125 124 /* 126 125 * Memory region attributes for LPAE: