Merge tag 'mips_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 Dec 2018 18:45:33 +0000 (10:45 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 Dec 2018 18:45:33 +0000 (10:45 -0800)
Pull MIPS updates from Paul Burton:
 "Here's the main MIPS pull for Linux 4.21. Core architecture changes
  include:

   - Syscall tables & definitions for unistd.h are now generated by
     scripts, providing greater consistency with other architectures &
     making it easier to add new syscalls.

   - Support for building kernels with no floating point support, upon
     which any userland attempting to use floating point instructions
     will receive a SIGILL. Mostly useful to shrink the kernel & as
     preparation for nanoMIPS support which does not yet include FP.

   - MIPS SIMD Architecture (MSA) vector register context is now exposed
     by ptrace via a new NT_MIPS_MSA regset.

   - ASIDs are now stored as 64b values even for MIPS32 kernels,
     expanding the ASID version field sufficiently that we don't need to
     worry about overflow & avoiding rare issues with reused ASIDs that
     have been observed in the wild.

   - The branch delay slot "emulation" page is now mapped without write
     permission for the user, preventing its use as a nice location for
     attacks to execute malicious code from.

   - Support for ioremap_prot(), primarily to allow gdb or other ptrace
     users the ability to view their tracee's memory using the same
     cache coherency attribute.

   - Optimizations to more cpu_has_* macros, allowing more to be
     compile-time constant where possible.

   - Enable building the whole kernel with UBSAN instrumentation.

   - Enable building the kernel with link-time dead code & data
     elimination.

  Platform specific changes include:

   - The Boston board gains a workaround for DMA prefetching issues with
     the EG20T Platform Controller Hub that it uses.

   - Cleanups to Cavium Octeon code removing about 20k lines of
     redundant code, mostly unused or duplicate register definitions in
     headers.

   - defconfig updates for the DECstation machines, including new
     defconfigs for r4k & 64b machines.

   - Further work on Loongson 3 support.

   - DMA fixes for SiByte machines"

* tag 'mips_4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (95 commits)
  MIPS: math-emu: Write-protect delay slot emulation pages
  MIPS: Remove struct mm_context_t fp_mode_switching field
  mips: generate uapi header and system call table files
  mips: add system call table generation support
  mips: remove syscall table entries
  mips: add +1 to __NR_syscalls in uapi header
  mips: rename scall64-64.S to scall64-n64.S
  mips: remove unused macros
  mips: add __NR_syscalls along with __NR_Linux_syscalls
  MIPS: Expand MIPS32 ASIDs to 64 bits
  MIPS: OCTEON: delete redundant register definitions
  MIPS: OCTEON: cvmx_gmxx_inf_mode: use oldest forward compatible definition
  MIPS: OCTEON: cvmx_mio_fus_dat3: use oldest forward compatible definition
  MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
  MIPS: OCTEON: octeon-usb: use common gpio_bit definition
  MIPS: OCTEON: enable all OCTEON drivers in defconfig
  mips: annotate implicit fall throughs
  MIPS: Hardcode cpu_has_mips* where target ISA allows
  MIPS: MT: Remove norps command line parameter
  MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y
  ...

1  2 
arch/mips/cavium-octeon/executive/cvmx-helper.c
arch/mips/configs/cavium_octeon_defconfig
arch/mips/kernel/ftrace.c
arch/mips/kernel/traps.c
include/uapi/linux/elf.h

index 6c79e8a16a2681f01cf4ffb0a702a8414499bf7b,d2251bb1f3697c14c3ecbfd9b3259a6deed551f2..a76bbcc30f954766466a5686b3c3dcd975f72ce5
  #include <asm/octeon/cvmx-smix-defs.h>
  #include <asm/octeon/cvmx-asxx-defs.h>
  
- /**
-  * cvmx_override_pko_queue_priority(int ipd_port, uint64_t
-  * priorities[16]) is a function pointer. It is meant to allow
-  * customization of the PKO queue priorities based on the port
-  * number. Users should set this pointer to a function before
-  * calling any cvmx-helper operations.
-  */
- void (*cvmx_override_pko_queue_priority) (int pko_port,
-                                         uint64_t priorities[16]);
- /**
-  * cvmx_override_ipd_port_setup(int ipd_port) is a function
-  * pointer. It is meant to allow customization of the IPD port
-  * setup before packet input/output comes online. It is called
-  * after cvmx-helper does the default IPD configuration, but
-  * before IPD is enabled. Users should set this pointer to a
-  * function before calling any cvmx-helper operations.
-  */
- void (*cvmx_override_ipd_port_setup) (int ipd_port);
  /* Port count per interface */
 -static int interface_port_count[5];
 +static int interface_port_count[9];
  
  /**
   * Return the number of interfaces the chip has. Each interface
Simple merge
Simple merge
Simple merge