Loading Documentation/kernel-parameters.txt +7 −0 Original line number Diff line number Diff line Loading @@ -3948,6 +3948,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. spia_pedr= spia_peddr= stack_guard_gap= [MM] override the default stack gap protection. The value is in page units and it defines how many pages prior to (for stacks growing down) resp. after (for stacks growing up) the main stack are reserved for no other mapping. Default value is 256 pages. stacktrace [FTRACE] Enabled the stack tracer on boot up. Loading Makefile +7 −7 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 32 SUBLEVEL = 35 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -655,6 +655,12 @@ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \ # Tell gcc to never replace conditional load with a non-conditional one KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y) KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO endif include scripts/Makefile.gcc-plugins ifdef CONFIG_READABLE_ASM Loading Loading @@ -800,12 +806,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) # use the deterministic mode of AR if available KBUILD_ARFLAGS := $(call ar-option,D) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO endif include scripts/Makefile.kasan include scripts/Makefile.extrawarn include scripts/Makefile.ubsan Loading arch/arc/kernel/head.S +7 −7 Original line number Diff line number Diff line Loading @@ -71,14 +71,14 @@ ENTRY(stext) GET_CPU_ID r5 cmp r5, 0 mov.nz r0, r5 #ifdef CONFIG_ARC_SMP_HALT_ON_RESET ; Non-Master can proceed as system would be booted sufficiently jnz first_lines_of_secondary #else bz .Lmaster_proceed ; Non-Masters wait for Master to boot enough and bring them up jnz arc_platform_smp_wait_to_boot #endif ; Master falls thru ; when they resume, tail-call to entry point mov blink, @first_lines_of_secondary j arc_platform_smp_wait_to_boot .Lmaster_proceed: #endif ; Clear BSS before updating any globals Loading arch/arc/kernel/smp.c +20 −5 Original line number Diff line number Diff line Loading @@ -90,22 +90,37 @@ void __init smp_cpus_done(unsigned int max_cpus) */ static volatile int wake_flag; #ifdef CONFIG_ISA_ARCOMPACT #define __boot_read(f) f #define __boot_write(f, v) f = v #else #define __boot_read(f) arc_read_uncached_32(&f) #define __boot_write(f, v) arc_write_uncached_32(&f, v) #endif static void arc_default_smp_cpu_kick(int cpu, unsigned long pc) { BUG_ON(cpu == 0); wake_flag = cpu; __boot_write(wake_flag, cpu); } void arc_platform_smp_wait_to_boot(int cpu) { while (wake_flag != cpu) /* for halt-on-reset, we've waited already */ if (IS_ENABLED(CONFIG_ARC_SMP_HALT_ON_RESET)) return; while (__boot_read(wake_flag) != cpu) ; wake_flag = 0; __asm__ __volatile__("j @first_lines_of_secondary \n"); __boot_write(wake_flag, 0); } const char *arc_platform_smp_cpuinfo(void) { return plat_smp_ops.info ? : ""; Loading arch/arc/mm/mmap.c +1 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, vma = find_vma(mm, addr); if (TASK_SIZE - len >= addr && (!vma || addr + len <= vma->vm_start)) (!vma || addr + len <= vm_start_gap(vma))) return addr; } Loading Loading
Documentation/kernel-parameters.txt +7 −0 Original line number Diff line number Diff line Loading @@ -3948,6 +3948,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. spia_pedr= spia_peddr= stack_guard_gap= [MM] override the default stack gap protection. The value is in page units and it defines how many pages prior to (for stacks growing down) resp. after (for stacks growing up) the main stack are reserved for no other mapping. Default value is 256 pages. stacktrace [FTRACE] Enabled the stack tracer on boot up. Loading
Makefile +7 −7 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 32 SUBLEVEL = 35 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -655,6 +655,12 @@ KBUILD_CFLAGS += $(call cc-ifversion, -lt, 0409, \ # Tell gcc to never replace conditional load with a non-conditional one KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y) KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO endif include scripts/Makefile.gcc-plugins ifdef CONFIG_READABLE_ASM Loading Loading @@ -800,12 +806,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) # use the deterministic mode of AR if available KBUILD_ARFLAGS := $(call ar-option,D) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO endif include scripts/Makefile.kasan include scripts/Makefile.extrawarn include scripts/Makefile.ubsan Loading
arch/arc/kernel/head.S +7 −7 Original line number Diff line number Diff line Loading @@ -71,14 +71,14 @@ ENTRY(stext) GET_CPU_ID r5 cmp r5, 0 mov.nz r0, r5 #ifdef CONFIG_ARC_SMP_HALT_ON_RESET ; Non-Master can proceed as system would be booted sufficiently jnz first_lines_of_secondary #else bz .Lmaster_proceed ; Non-Masters wait for Master to boot enough and bring them up jnz arc_platform_smp_wait_to_boot #endif ; Master falls thru ; when they resume, tail-call to entry point mov blink, @first_lines_of_secondary j arc_platform_smp_wait_to_boot .Lmaster_proceed: #endif ; Clear BSS before updating any globals Loading
arch/arc/kernel/smp.c +20 −5 Original line number Diff line number Diff line Loading @@ -90,22 +90,37 @@ void __init smp_cpus_done(unsigned int max_cpus) */ static volatile int wake_flag; #ifdef CONFIG_ISA_ARCOMPACT #define __boot_read(f) f #define __boot_write(f, v) f = v #else #define __boot_read(f) arc_read_uncached_32(&f) #define __boot_write(f, v) arc_write_uncached_32(&f, v) #endif static void arc_default_smp_cpu_kick(int cpu, unsigned long pc) { BUG_ON(cpu == 0); wake_flag = cpu; __boot_write(wake_flag, cpu); } void arc_platform_smp_wait_to_boot(int cpu) { while (wake_flag != cpu) /* for halt-on-reset, we've waited already */ if (IS_ENABLED(CONFIG_ARC_SMP_HALT_ON_RESET)) return; while (__boot_read(wake_flag) != cpu) ; wake_flag = 0; __asm__ __volatile__("j @first_lines_of_secondary \n"); __boot_write(wake_flag, 0); } const char *arc_platform_smp_cpuinfo(void) { return plat_smp_ops.info ? : ""; Loading
arch/arc/mm/mmap.c +1 −1 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, vma = find_vma(mm, addr); if (TASK_SIZE - len >= addr && (!vma || addr + len <= vma->vm_start)) (!vma || addr + len <= vm_start_gap(vma))) return addr; } Loading