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

Commit 98e8d2e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull mips fixes from Ralf Baechle:
 "The hopefully final round of fixes for 3.18:

   - Fix a number of build errors affecting particular configurations.
   - Handle EVA correctly when flushing a signal trampoline and dcache
     lines.
   - Fix printks printing jibberish.
   - Handle 64 bit memory addresses correctly when adding memory chunk
     on 32 bit kernels.
   - Fix a race condition in the hardware tablewalker code"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: tlbex: Fix potential HTW race on TLBL/M/S handlers
  MIPS: Fix address type used for early memory detection.
  MIPS: Kconfig: Don't allow both microMIPS and SmartMIPS to be selected.
  MIPS: kernel: cps-vec: Set ISA level to mips32r2 for the MIPS MT ASE
  MIPS: Netlogic: handle modular AHCI builds
  MIPS: Netlogic: handle modular USB case
  MIPS: Loongson: Make platform serial setup always built-in.
  MIPS: fix EVA & non-SMP non-FPU FP context signal handling
  MIPS: cpu-probe: Set the FTLB probability bit on supported cores
  MIPS: BMIPS: Fix ".previous without corresponding .section" warnings
  MIPS: uaccess.h: Fix strnlen_user comment.
  MIPS: r4kcache: Add EVA case for protected_writeback_dcache_line
  MIPS: Fix info about plat_setup in arch_mem_init comment
  MIPS: rtlx: Remove KERN_DEBUG from pr_debug() arguments in rtlx.c
  MIPS: SEAD3: Fix LED device registration.
  MIPS: Fix a copy & paste error in unistd.h
parents 21f122f4 070e76cb
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -2101,9 +2101,17 @@ config 64BIT_PHYS_ADDR
config ARCH_PHYS_ADDR_T_64BIT
       def_bool 64BIT_PHYS_ADDR

choice
	prompt "SmartMIPS or microMIPS ASE support"

config CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS
	bool "None"
	help
	  Select this if you want neither microMIPS nor SmartMIPS support

config CPU_HAS_SMARTMIPS
	depends on SYS_SUPPORTS_SMARTMIPS
	bool "Support for the SmartMIPS ASE"
	bool "SmartMIPS"
	help
	  SmartMIPS is a extension of the MIPS32 architecture aimed at
	  increased security at both hardware and software level for
@@ -2115,11 +2123,13 @@ config CPU_HAS_SMARTMIPS

config CPU_MICROMIPS
	depends on SYS_SUPPORTS_MICROMIPS
	bool "Build kernel using microMIPS ISA"
	bool "microMIPS"
	help
	  When this option is enabled the kernel will be built using the
	  microMIPS ISA

endchoice

config CPU_HAS_MSA
	bool "Support for the MIPS SIMD Architecture (EXPERIMENTAL)"
	depends on CPU_SUPPORTS_MSA
+2 −0
Original line number Diff line number Diff line
@@ -661,6 +661,8 @@
#define MIPS_CONF6_SYND		(_ULCAST_(1) << 13)
/* proAptiv FTLB on/off bit */
#define MIPS_CONF6_FTLBEN	(_ULCAST_(1) << 15)
/* FTLB probability bits */
#define MIPS_CONF6_FTLBP_SHIFT	(16)

#define MIPS_CONF7_WII		(_ULCAST_(1) << 31)

+4 −0
Original line number Diff line number Diff line
@@ -257,7 +257,11 @@ static inline void protected_flush_icache_line(unsigned long addr)
 */
static inline void protected_writeback_dcache_line(unsigned long addr)
{
#ifdef CONFIG_EVA
	protected_cachee_op(Hit_Writeback_Inv_D, addr);
#else
	protected_cache_op(Hit_Writeback_Inv_D, addr);
#endif
}

static inline void protected_writeback_scache_line(unsigned long addr)
+2 −4
Original line number Diff line number Diff line
@@ -1422,7 +1422,7 @@ static inline long __strnlen_user(const char __user *s, long n)
}

/*
 * strlen_user: - Get the size of a string in user space.
 * strnlen_user: - Get the size of a string in user space.
 * @str: The string to measure.
 *
 * Context: User context only.	This function may sleep.
@@ -1431,9 +1431,7 @@ static inline long __strnlen_user(const char __user *s, long n)
 *
 * Returns the size of the string INCLUDING the terminating NUL.
 * On exception, returns 0.
 *
 * If there is a limit on the length of a valid string, you may wish to
 * consider using strnlen_user() instead.
 * If the string is too long, returns a value greater than @n.
 */
static inline long strnlen_user(const char __user *s, long n)
{
+1 −1
Original line number Diff line number Diff line
@@ -1045,7 +1045,7 @@
#define __NR_seccomp			(__NR_Linux + 316)
#define __NR_getrandom			(__NR_Linux + 317)
#define __NR_memfd_create		(__NR_Linux + 318)
#define __NR_memfd_create		(__NR_Linux + 319)
#define __NR_bpf			(__NR_Linux + 319)

/*
 * Offset of the last N32 flavoured syscall
Loading