Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbb31c80 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Merge remote-tracking branch '4.9/tmp-75d78c7e' into 4.9"

parents c1df3ce0 2506cb53
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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.

+7 −7
Original line number Diff line number Diff line
VERSION = 4
PATCHLEVEL = 9
SUBLEVEL = 32
SUBLEVEL = 35
EXTRAVERSION =
NAME = Roaring Lionus

@@ -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
@@ -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
+7 −7
Original line number Diff line number Diff line
@@ -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
+20 −5
Original line number Diff line number Diff line
@@ -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 ? : "";
+1 −1
Original line number Diff line number Diff line
@@ -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