Skip to content

Commit 8312f41

Browse files
committed
Merge tag 'mips_5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull MIPS updates from Thomas Bogendoerfer: - enable GCOV - rework setup of protection map - add support for more MSCC platforms - add sysfs boardinfo for Loongson64 - enable KASLR for Loogson64 - add reset controller for BCM63xx - cleanups and fixes * tag 'mips_5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (70 commits) mips: fix Section mismatch in reference MAINTAINERS: Add linux-mips mailing list to JZ47xx entries MAINTAINERS: Remove JZ4780 DMA driver entry MAINTAINERS: [email protected] -> [email protected] MIPS: Octeon: irq: Alloc desc before configuring IRQ MIPS: mm: Add back define for PAGE_SHARED MIPS: Select ARCH_KEEP_MEMBLOCK if DEBUG_KERNEL to enable sysfs memblock debug mips: lib: uncached: fix non-standard usage of variable 'sp' MIPS: DTS: img: Fix schema warnings for pwm-leds MIPS: KASLR: Avoid endless loop in sync_icache if synci_step is zero MIPS: Move memblock_dump_all() to the end of setup_arch() MIPS: SMP-CPS: Add support for irq migration when CPU offline MIPS: OCTEON: Don't add kernel sections into memblock allocator MIPS: Don't round up kernel sections size for memblock_add() MIPS: Enable GCOV MIPS: configs: drop unused BACKLIGHT_GENERIC option MIPS: Loongson64: Fix up reserving kernel memory range MIPS: mm: Remove unused is_aligned_hugepage_range MIPS: No need to check CPU 0 in {loongson3,bmips,octeon}_cpu_disable() mips: cdmm: fix use-after-free in mips_cdmm_bus_discover ...
2 parents 66fc6a6 + ad4fdde commit 8312f41

Some content is hidden

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

94 files changed

+2328
-278
lines changed

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ Henk Vergonet <[email protected]>
122122
Henrik Kretzschmar <[email protected]>
123123
Henrik Rydberg <[email protected]>
124124
Herbert Xu <[email protected]>
125+
126+
125127
Jacob Shin <[email protected]>
126128
127129
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
What: /sys/firmware/lefi/boardinfo
2+
Date: October 2020
3+
Contact: Tiezhu Yang <[email protected]>
4+
Description:
5+
Get mainboard and BIOS info easily on the Loongson platform,
6+
this is useful to point out the current used mainboard type
7+
and BIOS version when there exists problems related with
8+
hardware or firmware.
9+
10+
The related structures are already defined in the interface
11+
specification about firmware and kernel which are common
12+
requirement and specific for Loongson64, so only add a new
13+
boardinfo.c file in arch/mips/loongson64.
14+
15+
For example:
16+
17+
[loongson@linux ~]$ cat /sys/firmware/lefi/boardinfo
18+
Board Info
19+
Manufacturer : LEMOTE
20+
Board Name : LEMOTE-LS3A4000-7A1000-1w-V01-pc
21+
Family : LOONGSON3
22+
23+
BIOS Info
24+
Vendor : Kunlun
25+
Version : Kunlun-A1901-V4.1.3-20200414093938
26+
ROM Size : 4 KB
27+
Release Date : 2020-04-14
28+
29+
By the way, using dmidecode command can get the similar info if there
30+
exists SMBIOS in firmware, but the fact is that there is no SMBIOS on
31+
some machines, we can see nothing when execute dmidecode, like this:
32+
33+
[root@linux loongson]# dmidecode
34+
# dmidecode 2.12
35+
# No SMBIOS nor DMI entry point found, sorry.

Documentation/devicetree/bindings/mips/mscc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Boards with a SoC of the Microsemi MIPS family shall have the following
44
properties:
55

66
Required properties:
7-
- compatible: "mscc,ocelot"
7+
- compatible: "mscc,ocelot", "mscc,luton", "mscc,serval" or "mscc,jr2"
88

99

1010
* Other peripherals:
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: "http://devicetree.org/schemas/reset/brcm,bcm6345-reset.yaml#"
5+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6+
7+
title: BCM6345 reset controller
8+
9+
description: This document describes the BCM6345 reset controller.
10+
11+
maintainers:
12+
- Álvaro Fernández Rojas <[email protected]>
13+
14+
properties:
15+
compatible:
16+
const: brcm,bcm6345-reset
17+
18+
reg:
19+
maxItems: 1
20+
21+
"#reset-cells":
22+
const: 1
23+
24+
required:
25+
- compatible
26+
- reg
27+
- "#reset-cells"
28+
29+
additionalProperties: false
30+
31+
examples:
32+
- |
33+
reset-controller@10000010 {
34+
compatible = "brcm,bcm6345-reset";
35+
reg = <0x10000010 0x4>;
36+
#reset-cells = <1>;
37+
};

MAINTAINERS

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8736,19 +8736,16 @@ F: include/uapi/rdma/
87368736
F: samples/bpf/ibumad_kern.c
87378737
F: samples/bpf/ibumad_user.c
87388738

8739-
INGENIC JZ4780 DMA Driver
8740-
M: Zubair Lutfullah Kakakhel <[email protected]>
8741-
S: Maintained
8742-
F: drivers/dma/dma-jz4780.c
8743-
87448739
INGENIC JZ4780 NAND DRIVER
87458740
M: Harvey Hunt <[email protected]>
87468741
8742+
87478743
S: Maintained
87488744
F: drivers/mtd/nand/raw/ingenic/
87498745

87508746
INGENIC JZ47xx SoCs
87518747
M: Paul Cercueil <[email protected]>
8748+
87528749
S: Maintained
87538750
F: arch/mips/boot/dts/ingenic/
87548751
F: arch/mips/generic/board-ingenic.c
@@ -9710,7 +9707,7 @@ F: arch/arm64/kvm/
97109707
F: include/kvm/arm_*
97119708

97129709
KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
9713-
M: Huacai Chen <[email protected]>
9710+
M: Huacai Chen <[email protected]>
97149711
M: Aleksandar Markovic <[email protected]>
97159712
97169713
@@ -11852,7 +11849,7 @@ F: drivers/*/*/*loongson2*
1185211849
F: drivers/*/*loongson2*
1185311850

1185411851
MIPS/LOONGSON64 ARCHITECTURE
11855-
M: Huacai Chen <[email protected]>
11852+
M: Huacai Chen <[email protected]>
1185611853
M: Jiaxun Yang <[email protected]>
1185711854
1185811855
S: Maintained

arch/mips/Kconfig

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ config MIPS
99
select ARCH_HAS_PTE_SPECIAL if !(32BIT && CPU_HAS_RIXI)
1010
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
1111
select ARCH_HAS_UBSAN_SANITIZE_ALL
12+
select ARCH_HAS_GCOV_PROFILE_ALL
13+
select ARCH_KEEP_MEMBLOCK if DEBUG_KERNEL
1214
select ARCH_SUPPORTS_UPROBES
1315
select ARCH_USE_BUILTIN_BSWAP
1416
select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
@@ -248,6 +250,7 @@ config ATH79
248250

249251
config BMIPS_GENERIC
250252
bool "Broadcom Generic BMIPS kernel"
253+
select ARCH_HAS_RESET_CONTROLLER
251254
select ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
252255
select ARCH_HAS_PHYS_TO_DMA
253256
select BOOT_RAW
@@ -486,6 +489,7 @@ config MACH_LOONGSON64
486489
select SYS_SUPPORTS_HIGHMEM
487490
select SYS_SUPPORTS_LITTLE_ENDIAN
488491
select SYS_SUPPORTS_ZBOOT
492+
select SYS_SUPPORTS_RELOCATABLE
489493
select ZONE_DMA32
490494
select NUMA
491495
select SMP
@@ -2484,6 +2488,7 @@ config MIPS_CPS
24842488
select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
24852489
select SYS_SUPPORTS_SMP
24862490
select WEAK_ORDERING
2491+
select GENERIC_IRQ_MIGRATION if HOTPLUG_CPU
24872492
help
24882493
Select this if you wish to run an SMP kernel across multiple cores
24892494
within a MIPS Coherent Processing System. When this option is
@@ -2644,7 +2649,7 @@ config WAR_R4600_V1_INDEX_ICACHEOP
26442649
# 18. The CACHE instructions Hit_Writeback_Invalidate_D, Hit_Writeback_D,
26452650
# Hit_Invalidate_D and Create_Dirty_Excl_D should only be
26462651
# executed if there is no other dcache activity. If the dcache is
2647-
# accessed for another instruction immeidately preceding when these
2652+
# accessed for another instruction immediately preceding when these
26482653
# cache instructions are executing, it is possible that the dcache
26492654
# tag match outputs used by these cache instructions will be
26502655
# incorrect. These cache instructions should be preceded by at least
@@ -2777,7 +2782,8 @@ config RELOCATABLE
27772782
depends on CPU_MIPS32_R2 || CPU_MIPS64_R2 || \
27782783
CPU_MIPS32_R5 || CPU_MIPS64_R5 || \
27792784
CPU_MIPS32_R6 || CPU_MIPS64_R6 || \
2780-
CPU_P5600 || CAVIUM_OCTEON_SOC
2785+
CPU_P5600 || CAVIUM_OCTEON_SOC || \
2786+
CPU_LOONGSON64
27812787
help
27822788
This builds a kernel image that retains relocation information
27832789
so it can be loaded someplace besides the default 1MB.
@@ -2788,6 +2794,7 @@ config RELOCATION_TABLE_SIZE
27882794
hex "Relocation table size"
27892795
depends on RELOCATABLE
27902796
range 0x0 0x01000000
2797+
default "0x00200000" if CPU_LOONGSON64
27912798
default "0x00100000"
27922799
help
27932800
A table of relocation data will be appended to the kernel binary
@@ -3086,7 +3093,7 @@ config MIPS_O32_FP64_SUPPORT
30863093

30873094
Although binutils currently supports use of this flag the details
30883095
concerning its effect upon the O32 ABI in userland are still being
3089-
worked on. In order to avoid userland becoming dependant upon current
3096+
worked on. In order to avoid userland becoming dependent upon current
30903097
behaviour before the details have been finalised, this option should
30913098
be considered experimental and only enabled by those working upon
30923099
said details.
@@ -3124,7 +3131,7 @@ choice
31243131

31253132
objcopy --update-section .appended_dtb=<filename>.dtb vmlinux
31263133

3127-
This is meant as a backward compatiblity convenience for those
3134+
This is meant as a backward compatibility convenience for those
31283135
systems with a bootloader that can't be upgraded to accommodate
31293136
the documented boot protocol using a device tree.
31303137

arch/mips/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ bootz-y += vmlinuz.srec
347347
ifeq ($(shell expr $(zload-y) \< 0xffffffff80000000 2> /dev/null), 0)
348348
bootz-y += uzImage.bin
349349
endif
350+
bootz-y += vmlinuz.itb
350351

351352
#
352353
# Some machines like the Indy need 32-bit ELF binaries for booting purposes.
@@ -378,7 +379,7 @@ ifdef CONFIG_SYS_SUPPORTS_ZBOOT
378379
# boot/compressed
379380
$(bootz-y): $(vmlinux-32) FORCE
380381
$(Q)$(MAKE) $(build)=arch/mips/boot/compressed \
381-
$(bootvars-y) 32bit-bfd=$(32bit-bfd) $@
382+
$(bootvars-y) 32bit-bfd=$(32bit-bfd) arch/mips/boot/$@
382383
else
383384
vmlinuz: FORCE
384385
@echo ' CONFIG_SYS_SUPPORTS_ZBOOT is not enabled'

arch/mips/ar7/gpio.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,7 @@ int __init ar7_gpio_init(void)
319319
if (ret) {
320320
printk(KERN_ERR "%s: failed to add gpiochip\n",
321321
gpch->chip.label);
322+
iounmap(gpch->regs);
322323
return ret;
323324
}
324325
printk(KERN_INFO "%s: registered %d GPIOs\n",

arch/mips/bcm47xx/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ config BCM47XX_SSB
99
select SSB_DRIVER_MIPS
1010
select SSB_DRIVER_EXTIF
1111
select SSB_EMBEDDED
12+
select SSB_PCIHOST if PCI
1213
select SSB_B43_PCI_BRIDGE if PCI
1314
select SSB_DRIVER_PCICORE if PCI
1415
select SSB_PCICORE_HOSTMODE if PCI
@@ -27,6 +28,7 @@ config BCM47XX_BCMA
2728
select BCMA
2829
select BCMA_HOST_SOC
2930
select BCMA_DRIVER_MIPS
31+
select BCMA_DRIVER_PCI if PCI
3032
select BCMA_DRIVER_PCI_HOSTMODE if PCI
3133
select BCMA_DRIVER_GPIO
3234
default y

arch/mips/boot/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
mkboot
33
elf2ecoff
44
vmlinux.*
5+
vmlinuz.*
56
zImage
67
zImage.tmp
78
calc_vmlinuz_load_addr

0 commit comments

Comments
 (0)