Skip to content

Commit 568d135

Browse files
committed
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
Pull MIPS updates from Ralf Baechle: "Boston platform support: - Document DT bindings - Add CLK driver for board clocks CM: - Avoid per-core locking with CM3 & higher - WARN on attempt to lock invalid VP, not BUG CPS: - Select CONFIG_SYS_SUPPORTS_SCHED_SMT for MIPSr6 - Prevent multi-core with dcache aliasing - Handle cores not powering down more gracefully - Handle spurious VP starts more gracefully DSP: - Add lwx & lhx missaligned access support eBPF: - Add MIPS support along with many supporting change to add the required infrastructure Generic arch code: - Misc sysmips MIPS_ATOMIC_SET fixes - Drop duplicate HAVE_SYSCALL_TRACEPOINTS - Negate error syscall return in trace - Correct forced syscall errors - Traced negative syscalls should return -ENOSYS - Allow samples/bpf/tracex5 to access syscall arguments for sane traces - Cleanup from old Kconfig options in defconfigs - Fix PREF instruction usage by memcpy for MIPS R6 - Fix various special cases in the FPU eulation - Fix some special cases in MIPS16e2 support - Fix MIPS I ISA /proc/cpuinfo reporting - Sort MIPS Kconfig alphabetically - Fix minimum alignment requirement of IRQ stack as required by ABI / GCC - Fix special cases in the module loader - Perform post-DMA cache flushes on systems with MAARs - Probe the I6500 CPU - Cleanup cmpxchg and add support for 1 and 2 byte operations - Use queued read/write locks (qrwlock) - Use queued spinlocks (qspinlock) - Add CPU shared FTLB feature detection - Handle tlbex-tlbp race condition - Allow storing pgd in C0_CONTEXT for MIPSr6 - Use current_cpu_type() in m4kc_tlbp_war() - Support Boston in the generic kernel Generic platform: - yamon-dt: Pull YAMON DT shim code out of SEAD-3 board - yamon-dt: Support > 256MB of RAM - yamon-dt: Use serial* rather than uart* aliases - Abstract FDT fixup application - Set RTC_ALWAYS_BCD to 0 - Add a MAINTAINERS entry core kernel: - qspinlock.c: include linux/prefetch.h Loongson 3: - Add support Perf: - Add I6500 support SEAD-3: - Remove GIC timer from DT - Set interrupt-parent per-device, not at root node - Fix GIC interrupt specifiers SMP: - Skip IPI setup if we only have a single CPU VDSO: - Make comment match reality - Improvements to time code in VDSO" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (86 commits) locking/qspinlock: Include linux/prefetch.h MIPS: Fix MIPS I ISA /proc/cpuinfo reporting MIPS: Fix minimum alignment requirement of IRQ stack MIPS: generic: Support MIPS Boston development boards MIPS: DTS: img: Don't attempt to build-in all .dtb files clk: boston: Add a driver for MIPS Boston board clocks dt-bindings: Document img,boston-clock binding MIPS: Traced negative syscalls should return -ENOSYS MIPS: Correct forced syscall errors MIPS: Negate error syscall return in trace MIPS: Drop duplicate HAVE_SYSCALL_TRACEPOINTS select MIPS16e2: Provide feature overrides for non-MIPS16 systems MIPS: MIPS16e2: Report ASE presence in /proc/cpuinfo MIPS: MIPS16e2: Subdecode extended LWSP/SWSP instructions MIPS: MIPS16e2: Identify ASE presence MIPS: VDSO: Fix a mismatch between comment and preprocessor constant MIPS: VDSO: Add implementation of gettimeofday() fallback MIPS: VDSO: Add implementation of clock_gettime() fallback MIPS: VDSO: Fix conversions in do_monotonic()/do_monotonic_coarse() MIPS: Use current_cpu_type() in m4kc_tlbp_war() ...
2 parents 4ecd4ff + d40e0d4 commit 568d135

File tree

136 files changed

+2453
-1836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+2453
-1836
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
Binding for Imagination Technologies MIPS Boston clock sources.
2+
3+
This binding uses the common clock binding[1].
4+
5+
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6+
7+
The device node must be a child node of the syscon node corresponding to the
8+
Boston system's platform registers.
9+
10+
Required properties:
11+
- compatible : Should be "img,boston-clock".
12+
- #clock-cells : Should be set to 1.
13+
Values available for clock consumers can be found in the header file:
14+
<dt-bindings/clock/boston-clock.h>
15+
16+
Example:
17+
18+
system-controller@17ffd000 {
19+
compatible = "img,boston-platform-regs", "syscon";
20+
reg = <0x17ffd000 0x1000>;
21+
22+
clk_boston: clock {
23+
compatible = "img,boston-clock";
24+
#clock-cells = <1>;
25+
};
26+
};
27+
28+
uart0: uart@17ffe000 {
29+
/* ... */
30+
clocks = <&clk_boston BOSTON_CLK_SYS>;
31+
};

MAINTAINERS

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8732,6 +8732,12 @@ F: Documentation/devicetree/bindings/mips/
87328732
F: Documentation/mips/
87338733
F: arch/mips/
87348734

8735+
MIPS GENERIC PLATFORM
8736+
M: Paul Burton <paul.burton@imgtec.com>
8737+
L: linux-mips@linux-mips.org
8738+
S: Supported
8739+
F: arch/mips/generic/
8740+
87358741
MIPS/LOONGSON1 ARCHITECTURE
87368742
M: Keguang Zhang <keguang.zhang@gmail.com>
87378743
L: linux-mips@linux-mips.org
@@ -8741,6 +8747,16 @@ F: arch/mips/include/asm/mach-loongson32/
87418747
F: drivers/*/*loongson1*
87428748
F: drivers/*/*/*loongson1*
87438749

8750+
MIPS BOSTON DEVELOPMENT BOARD
8751+
M: Paul Burton <paul.burton@imgtec.com>
8752+
L: linux-mips@linux-mips.org
8753+
S: Maintained
8754+
F: Documentation/devicetree/bindings/clock/img,boston-clock.txt
8755+
F: arch/mips/boot/dts/img/boston.dts
8756+
F: arch/mips/configs/generic/board-boston.config
8757+
F: drivers/clk/imgtec/clk-boston.c
8758+
F: include/dt-bindings/clock/boston-clock.h
8759+
87448760
MIROSOUND PCM20 FM RADIO RECEIVER DRIVER
87458761
M: Hans Verkuil <hverkuil@xs4all.nl>
87468762
L: linux-media@vger.kernel.org

arch/mips/Kconfig

Lines changed: 63 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,77 @@
11
config MIPS
22
bool
33
default y
4-
select ARCH_SUPPORTS_UPROBES
4+
select ARCH_BINFMT_ELF_STATE
5+
select ARCH_CLOCKSOURCE_DATA
6+
select ARCH_DISCARD_MEMBLOCK
7+
select ARCH_HAS_ELF_RANDOMIZE
8+
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
59
select ARCH_MIGHT_HAVE_PC_PARPORT
610
select ARCH_MIGHT_HAVE_PC_SERIO
7-
select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
11+
select ARCH_SUPPORTS_UPROBES
812
select ARCH_USE_BUILTIN_BSWAP
9-
select HAVE_CONTEXT_TRACKING
10-
select HAVE_GENERIC_DMA_COHERENT
11-
select HAVE_IDE
12-
select HAVE_IRQ_EXIT_ON_IRQ_STACK
13-
select HAVE_OPROFILE
14-
select HAVE_PERF_EVENTS
15-
select PERF_USE_VMALLOC
13+
select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
14+
select ARCH_USE_QUEUED_RWLOCKS
15+
select ARCH_USE_QUEUED_SPINLOCKS
16+
select ARCH_WANT_IPC_PARSE_VERSION
17+
select BUILDTIME_EXTABLE_SORT
18+
select CLONE_BACKWARDS
19+
select CPU_PM if CPU_IDLE
20+
select GENERIC_ATOMIC64 if !64BIT
21+
select GENERIC_CLOCKEVENTS
22+
select GENERIC_CMOS_UPDATE
23+
select GENERIC_CPU_AUTOPROBE
24+
select GENERIC_IRQ_PROBE
25+
select GENERIC_IRQ_SHOW
26+
select GENERIC_PCI_IOMAP
27+
select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
28+
select GENERIC_SMP_IDLE_THREAD
29+
select GENERIC_TIME_VSYSCALL
30+
select HANDLE_DOMAIN_IRQ
31+
select HAVE_ARCH_JUMP_LABEL
1632
select HAVE_ARCH_KGDB
1733
select HAVE_ARCH_MMAP_RND_BITS if MMU
1834
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
1935
select HAVE_ARCH_SECCOMP_FILTER
2036
select HAVE_ARCH_TRACEHOOK
21-
select HAVE_CBPF_JIT if !CPU_MICROMIPS
22-
select HAVE_FUNCTION_TRACER
37+
select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
38+
select HAVE_CBPF_JIT if (!64BIT && !CPU_MICROMIPS)
39+
select HAVE_EBPF_JIT if (64BIT && !CPU_MICROMIPS)
40+
select HAVE_CC_STACKPROTECTOR
41+
select HAVE_CONTEXT_TRACKING
42+
select HAVE_COPY_THREAD_TLS
43+
select HAVE_C_RECORDMCOUNT
44+
select HAVE_DEBUG_KMEMLEAK
45+
select HAVE_DEBUG_STACKOVERFLOW
46+
select HAVE_DMA_API_DEBUG
47+
select HAVE_DMA_CONTIGUOUS
2348
select HAVE_DYNAMIC_FTRACE
49+
select HAVE_EXIT_THREAD
2450
select HAVE_FTRACE_MCOUNT_RECORD
25-
select HAVE_C_RECORDMCOUNT
2651
select HAVE_FUNCTION_GRAPH_TRACER
52+
select HAVE_FUNCTION_TRACER
53+
select HAVE_GENERIC_DMA_COHERENT
54+
select HAVE_IDE
55+
select HAVE_IRQ_EXIT_ON_IRQ_STACK
56+
select HAVE_IRQ_TIME_ACCOUNTING
2757
select HAVE_KPROBES
2858
select HAVE_KRETPROBES
29-
select HAVE_SYSCALL_TRACEPOINTS
30-
select HAVE_DEBUG_KMEMLEAK
31-
select HAVE_SYSCALL_TRACEPOINTS
32-
select ARCH_HAS_ELF_RANDOMIZE
33-
select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
34-
select RTC_LIB if !MACH_LOONGSON64
35-
select GENERIC_ATOMIC64 if !64BIT
36-
select HAVE_DMA_CONTIGUOUS
37-
select HAVE_DMA_API_DEBUG
38-
select GENERIC_IRQ_PROBE
39-
select GENERIC_IRQ_SHOW
40-
select GENERIC_PCI_IOMAP
41-
select HAVE_ARCH_JUMP_LABEL
42-
select ARCH_WANT_IPC_PARSE_VERSION
43-
select IRQ_FORCED_THREADING
4459
select HAVE_MEMBLOCK
4560
select HAVE_MEMBLOCK_NODE_MAP
46-
select ARCH_DISCARD_MEMBLOCK
47-
select GENERIC_SMP_IDLE_THREAD
48-
select BUILDTIME_EXTABLE_SORT
49-
select GENERIC_CPU_AUTOPROBE
50-
select GENERIC_CLOCKEVENTS
51-
select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
52-
select GENERIC_CMOS_UPDATE
5361
select HAVE_MOD_ARCH_SPECIFIC
5462
select HAVE_NMI
55-
select VIRT_TO_BUS
56-
select MODULES_USE_ELF_REL if MODULES
63+
select HAVE_OPROFILE
64+
select HAVE_PERF_EVENTS
65+
select HAVE_REGS_AND_STACK_ACCESS_API
66+
select HAVE_SYSCALL_TRACEPOINTS
67+
select HAVE_VIRT_CPU_ACCOUNTING_GEN
68+
select IRQ_FORCED_THREADING
5769
select MODULES_USE_ELF_RELA if MODULES && 64BIT
58-
select CLONE_BACKWARDS
59-
select HAVE_DEBUG_STACKOVERFLOW
60-
select HAVE_CC_STACKPROTECTOR
61-
select CPU_PM if CPU_IDLE
62-
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
63-
select ARCH_BINFMT_ELF_STATE
70+
select MODULES_USE_ELF_REL if MODULES
71+
select PERF_USE_VMALLOC
72+
select RTC_LIB if !MACH_LOONGSON64
6473
select SYSCTL_EXCEPTION_TRACE
65-
select HAVE_VIRT_CPU_ACCOUNTING_GEN
66-
select HAVE_IRQ_TIME_ACCOUNTING
67-
select GENERIC_TIME_VSYSCALL
68-
select ARCH_CLOCKSOURCE_DATA
69-
select HANDLE_DOMAIN_IRQ
70-
select HAVE_EXIT_THREAD
71-
select HAVE_REGS_AND_STACK_ACCESS_API
72-
select HAVE_COPY_THREAD_TLS
74+
select VIRT_TO_BUS
7375

7476
menu "Machine selection"
7577

@@ -1179,6 +1181,15 @@ config SYS_SUPPORTS_RELOCATABLE
11791181
The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
11801182
to allow access to command line and entropy sources.
11811183

1184+
config MIPS_CBPF_JIT
1185+
def_bool y
1186+
depends on BPF_JIT && HAVE_CBPF_JIT
1187+
1188+
config MIPS_EBPF_JIT
1189+
def_bool y
1190+
depends on BPF_JIT && HAVE_EBPF_JIT
1191+
1192+
11821193
#
11831194
# Endianness selection. Sufficiently obscure so many users don't know what to
11841195
# answer,so we try hard to limit the available choices. Also the use of a
@@ -2062,7 +2073,7 @@ config CPU_SUPPORTS_UNCACHED_ACCELERATED
20622073
bool
20632074
config MIPS_PGD_C0_CONTEXT
20642075
bool
2065-
default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
2076+
default y if 64BIT && (CPU_MIPSR2 || CPU_MIPSR6) && !CPU_XLP
20662077

20672078
#
20682079
# Set to y for ptrace access to watch registers.
@@ -2370,6 +2381,7 @@ config MIPS_CPS
23702381
select SMP
23712382
select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
23722383
select SYS_SUPPORTS_HOTPLUG_CPU
2384+
select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
23732385
select SYS_SUPPORTS_SMP
23742386
select WEAK_ORDERING
23752387
help

arch/mips/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS
160160
-Wa,-mips32 -Wa,--trap
161161
cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
162162
-Wa,-mips32r2 -Wa,--trap
163-
cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap
163+
cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap -modd-spreg
164164
cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
165165
-Wa,-mips64 -Wa,--trap
166166
cflags-$(CONFIG_CPU_MIPS64_R2) += $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \

arch/mips/boot/dts/img/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
dtb-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb
1+
dtb-$(CONFIG_FIT_IMAGE_FDT_BOSTON) += boston.dtb
22

3-
obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
3+
dtb-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb
4+
obj-$(CONFIG_MACH_PISTACHIO) += pistachio_marduk.dtb.o
45

56
# Force kbuild to make empty built-in.o if necessary
67
obj- += dummy.o

0 commit comments

Comments
 (0)