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

Commit b2298fc9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MIPS fixes from Ralf Baechle:
 "Another round of MIPS fixes:

   - compressed boot: Ignore a generated .c file

   - VDSO: Fix a register clobber list

   - DECstation: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression

   - Octeon: Fix recent cleanups that cleaned away a bit too much thus
     breaking the arch side of the EDAC and USB drivers.

   - uasm: Fix duplicate const in "const struct foo const bar[]" which
     GCC 7.1 no longer accepts.

   - Fix race on setting and getting cpu_online_mask

   - Fix preemption issue. To do so cleanly introduce macro to get the
     size of L3 cache line.

   - Revert include cleanup that sometimes results in build error

   - MicroMIPS uses bit 0 of the PC to indicate microMIPS mode. Make
     sure this bit is set for kernel entry as well.

   - Prevent configuring the kernel for both microMIPS and MT. There are
     no such CPUs currently and thus the combination is unsupported and
     results in build errors.

  This has been sitting in linux-next for a few days and has survived
  automated testing by Imagination's test farm. No known regressions
  pending except a number of issues that crept up due to lots of people
  switching to GCC 7.1"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
  MIPS: Set ISA bit in entry-y for microMIPS kernels
  MIPS: Prevent building MT support for microMIPS kernels
  MIPS: PCI: Fix smp_processor_id() in preemptible
  MIPS: Introduce cpu_tcache_line_size
  MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression
  MIPS: VDSO: Fix clobber lists in fallback code paths
  Revert "MIPS: Don't unnecessarily include kmalloc.h into <asm/cache.h>."
  MIPS: OCTEON: Fix USB platform code breakage.
  MIPS: Octeon: Fix broken EDAC driver.
  MIPS: gitignore: ignore generated .c files
  MIPS: Fix race on setting and getting cpu_online_mask
  MIPS: mm: remove duplicate "const" qualifier on insn_table
parents c9dc281d 5fc9484f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2260,7 +2260,7 @@ config CPU_R4K_CACHE_TLB

config MIPS_MT_SMP
	bool "MIPS MT SMP support (1 TC on each available VPE)"
	depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6
	depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS
	select CPU_MIPSR2_IRQ_VI
	select CPU_MIPSR2_IRQ_EI
	select SYNC_R4K
+14 −1
Original line number Diff line number Diff line
@@ -243,8 +243,21 @@ include arch/mips/Kbuild.platforms
ifdef CONFIG_PHYSICAL_START
load-y					= $(CONFIG_PHYSICAL_START)
endif
entry-y				= 0x$(shell $(NM) vmlinux 2>/dev/null \

entry-noisa-y				= 0x$(shell $(NM) vmlinux 2>/dev/null \
					| grep "\bkernel_entry\b" | cut -f1 -d \ )
ifdef CONFIG_CPU_MICROMIPS
  #
  # Set the ISA bit, since the kernel_entry symbol in the ELF will have it
  # clear which would lead to images containing addresses which bootloaders may
  # jump to as MIPS32 code.
  #
  entry-y = $(patsubst %0,%1,$(patsubst %2,%3,$(patsubst %4,%5, \
              $(patsubst %6,%7,$(patsubst %8,%9,$(patsubst %a,%b, \
              $(patsubst %c,%d,$(patsubst %e,%f,$(entry-noisa-y)))))))))
else
  entry-y = $(entry-noisa-y)
endif

cflags-y			+= -I$(srctree)/arch/mips/include/asm/mach-generic
drivers-$(CONFIG_PCI)		+= arch/mips/pci/
+2 −0
Original line number Diff line number Diff line
ashldi3.c
bswapsi.c
+1 −1
Original line number Diff line number Diff line
@@ -13,9 +13,9 @@
#include <linux/mutex.h>
#include <linux/delay.h>
#include <linux/of_platform.h>
#include <linux/io.h>

#include <asm/octeon/octeon.h>
#include <asm/octeon/cvmx-gpio-defs.h>

/* USB Control Register */
union cvm_usbdrd_uctl_ctl {
+6 −28
Original line number Diff line number Diff line
@@ -147,23 +147,12 @@
		 * Find irq with highest priority
		 */
		# open coded PTR_LA t1, cpu_mask_nr_tbl
#if (_MIPS_SZPTR == 32)
#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32)
		# open coded la t1, cpu_mask_nr_tbl
		lui	t1, %hi(cpu_mask_nr_tbl)
		addiu	t1, %lo(cpu_mask_nr_tbl)

#endif
#if (_MIPS_SZPTR == 64)
		# open coded dla t1, cpu_mask_nr_tbl
		.set	push
		.set	noat
		lui	t1, %highest(cpu_mask_nr_tbl)
		lui	AT, %hi(cpu_mask_nr_tbl)
		daddiu	t1, t1, %higher(cpu_mask_nr_tbl)
		daddiu	AT, AT, %lo(cpu_mask_nr_tbl)
		dsll	t1, 32
		daddu	t1, t1, AT
		.set	pop
#else
#error GCC `-msym32' option required for 64-bit DECstation builds
#endif
1:		lw	t2,(t1)
		nop
@@ -214,23 +203,12 @@
		 * Find irq with highest priority
		 */
		# open coded PTR_LA t1,asic_mask_nr_tbl
#if (_MIPS_SZPTR == 32)
#if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32)
		# open coded la t1, asic_mask_nr_tbl
		lui	t1, %hi(asic_mask_nr_tbl)
		addiu	t1, %lo(asic_mask_nr_tbl)

#endif
#if (_MIPS_SZPTR == 64)
		# open coded dla t1, asic_mask_nr_tbl
		.set	push
		.set	noat
		lui	t1, %highest(asic_mask_nr_tbl)
		lui	AT, %hi(asic_mask_nr_tbl)
		daddiu	t1, t1, %higher(asic_mask_nr_tbl)
		daddiu	AT, AT, %lo(asic_mask_nr_tbl)
		dsll	t1, 32
		daddu	t1, t1, AT
		.set	pop
#else
#error GCC `-msym32' option required for 64-bit DECstation builds
#endif
2:		lw	t2,(t1)
		nop
Loading