Loading Makefile +2 −2 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 32 SUBLEVEL = 33 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -797,7 +797,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) KBUILD_ARFLAGS := $(call ar-option,D) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) 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 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/arm/configs/ezx_defconfig +2 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,8 @@ CONFIG_NETFILTER=y CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m Loading arch/arm/configs/imote2_defconfig +2 −2 Original line number Diff line number Diff line Loading @@ -56,8 +56,8 @@ CONFIG_NETFILTER=y CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m Loading Loading
Makefile +2 −2 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 32 SUBLEVEL = 33 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -797,7 +797,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) KBUILD_ARFLAGS := $(call ar-option,D) # check for 'asm goto' ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) 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 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/arm/configs/ezx_defconfig +2 −2 Original line number Diff line number Diff line Loading @@ -64,8 +64,8 @@ CONFIG_NETFILTER=y CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m Loading
arch/arm/configs/imote2_defconfig +2 −2 Original line number Diff line number Diff line Loading @@ -56,8 +56,8 @@ CONFIG_NETFILTER=y CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CT_PROTO_UDPLITE=m CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m Loading