Skip to content

Commit 0be2886

Browse files
committed
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: - An improvement from Ard Biesheuvel, who noted that the identity map setup was taking a long time due to flush_cache_louis(). - Update a comment about dma_ops from Wolfram Sang. - Remove use of "-p" with ld, where this flag has been a no-op since 2004. - Remove the printing of the virtual memory layout, which is no longer useful since we hide pointers. - Correct SCU help text. - Remove legacy TWD registration method. - Add pgprot_device() implementation for mapping PCI sysfs resource files. - Initialise PFN limits earlier for kmemleak. - Fix argument count to match macro definition (affects clang builds) - Use unified assembler language almost everywhere for clang, and other clang improvements (from Stefan Agner, Nathan Chancellor). - Support security extension for noMMU and other noMMU cleanups (from Vladimir Murzin). - Remove unnecessary SMP bringup code (which was incorrectly copy'n' pasted from the ARM platform implementations) and remove it from the arch code to discourge further copys of it appearing. - Add Cortex A9 erratum preventing kexec working on some SoCs. - AMBA bus identification updates from Mike Leach. - More use of raw spinlocks to avoid -RT kernel issues (from Yang Shi and Sebastian Andrzej Siewior). - MCPM hyp/svc mode mismatch fixes from Marek Szyprowski. * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (32 commits) ARM: 8849/1: NOMMU: Fix encodings for PMSAv8's PRBAR4/PRLAR4 ARM: 8848/1: virt: Align GIC version check with arm64 counterpart ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used ARM: 8845/1: use unified assembler in c files ARM: 8844/1: use unified assembler in assembly files ARM: 8843/1: use unified assembler in headers ARM: 8841/1: use unified assembler in macros ARM: 8840/1: use a raw_spinlock_t in unwind ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t ARM: 8837/1: coresight: etmv4: Update ID register table to add UCI support ARM: 8836/1: drivers: amba: Update component matching to use the CoreSight UCI values. ARM: 8838/1: drivers: amba: Updates to component identification for driver matching. ARM: 8833/1: Ensure that NEON code always compiles with Clang ARM: avoid Cortex-A9 livelock on tight dmb loops ARM: smp: remove arch-provided "pen_release" ARM: actions: remove boot_lock and pen_release ARM: oxnas: remove CPU hotplug implementation ARM: qcom: remove unnecessary boot_lock ARM: 8832/1: NOMMU: Limit visibility for CONFIG_FLASH_{MEM_BASE,SIZE} ARM: 8831/1: NOMMU: pmsa-v8: remove unneeded semicolon ...
2 parents e8a71a3 + 4c2741a commit 0be2886

Some content is hidden

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

95 files changed

+440
-609
lines changed

Documentation/arm/kernel_mode_neon.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ TL;DR summary
66
* Use only NEON instructions, or VFP instructions that don't rely on support
77
code
88
* Isolate your NEON code in a separate compilation unit, and compile it with
9-
'-mfpu=neon -mfloat-abi=softfp'
9+
'-march=armv7-a -mfpu=neon -mfloat-abi=softfp'
1010
* Put kernel_neon_begin() and kernel_neon_end() calls around the calls into your
1111
NEON code
1212
* Don't sleep in your NEON code, and be aware that it will be executed with
@@ -87,7 +87,7 @@ instructions appearing in unexpected places if no special care is taken.
8787
Therefore, the recommended and only supported way of using NEON/VFP in the
8888
kernel is by adhering to the following rules:
8989
* isolate the NEON code in a separate compilation unit and compile it with
90-
'-mfpu=neon -mfloat-abi=softfp';
90+
'-march=armv7-a -mfpu=neon -mfloat-abi=softfp';
9191
* issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls
9292
into the unit containing the NEON code from a compilation unit which is *not*
9393
built with the GCC flag '-mfpu=neon' set.

arch/arm/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,7 +1310,7 @@ config SCHED_SMT
13101310
config HAVE_ARM_SCU
13111311
bool
13121312
help
1313-
This option enables support for the ARM system coherency unit
1313+
This option enables support for the ARM snoop control unit
13141314

13151315
config HAVE_ARM_ARCH_TIMER
13161316
bool "Architected timer support"
@@ -1322,7 +1322,6 @@ config HAVE_ARM_ARCH_TIMER
13221322

13231323
config HAVE_ARM_TWD
13241324
bool
1325-
select TIMER_OF if OF
13261325
help
13271326
This options enables support for the ARM timer and watchdog unit
13281327

arch/arm/Kconfig-nommu

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ config DRAM_SIZE
2020

2121
config FLASH_MEM_BASE
2222
hex 'FLASH Base Address' if SET_MEM_PARAM
23+
depends on CPU_ARM740T || CPU_ARM946E || CPU_ARM940T
2324
default 0x00400000
2425

2526
config FLASH_SIZE
2627
hex 'FLASH Size' if SET_MEM_PARAM
28+
depends on CPU_ARM740T || CPU_ARM946E || CPU_ARM940T
2729
default 0x00400000
2830

2931
config PROCESSOR_ID

arch/arm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#
1111
# Copyright (C) 1995-2001 by Russell King
1212

13-
LDFLAGS_vmlinux :=-p --no-undefined -X --pic-veneer
13+
LDFLAGS_vmlinux := --no-undefined -X --pic-veneer
1414
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
1515
LDFLAGS_vmlinux += --be8
1616
KBUILD_LDFLAGS_MODULE += --be8

arch/arm/boot/bootp/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
GCOV_PROFILE := n
1010

11-
LDFLAGS_bootp :=-p --no-undefined -X \
11+
LDFLAGS_bootp := --no-undefined -X \
1212
--defsym initrd_phys=$(INITRD_PHYS) \
1313
--defsym params_phys=$(PARAMS_PHYS) -T
1414
AFLAGS_initrd.o :=-DINITRD=\"$(INITRD)\"

arch/arm/boot/bootp/init.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ _start: add lr, pc, #-0x8 @ lr = current load addr
4444
*/
4545
movne r10, #0 @ terminator
4646
movne r4, #2 @ Size of this entry (2 words)
47-
stmneia r9, {r4, r5, r10} @ Size, ATAG_CORE, terminator
47+
stmiane r9, {r4, r5, r10} @ Size, ATAG_CORE, terminator
4848

4949
/*
5050
* find the end of the tag list, and then add an INITRD tag on the end.

arch/arm/boot/compressed/Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,6 @@ endif
132132
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
133133
LDFLAGS_vmlinux += --be8
134134
endif
135-
# ?
136-
LDFLAGS_vmlinux += -p
137135
# Report unresolved symbol references
138136
LDFLAGS_vmlinux += --no-undefined
139137
# Delete all temporary local symbols

arch/arm/boot/compressed/ll_char_wr.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Lrow4bpplp:
7575
tst r1, #7 @ avoid using r7 directly after
7676
str r7, [r0, -r5]!
7777
subne r1, r1, #1
78-
ldrneb r7, [r6, r1]
78+
ldrbne r7, [r6, r1]
7979
bne Lrow4bpplp
8080
ldmfd sp!, {r4 - r7, pc}
8181

@@ -103,7 +103,7 @@ Lrow8bpplp:
103103
sub r0, r0, r5 @ avoid ip
104104
stmia r0, {r4, ip}
105105
subne r1, r1, #1
106-
ldrneb r7, [r6, r1]
106+
ldrbne r7, [r6, r1]
107107
bne Lrow8bpplp
108108
ldmfd sp!, {r4 - r7, pc}
109109

arch/arm/common/mcpm_entry.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ static int __init nocache_trampoline(unsigned long _arg)
381381
unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
382382
phys_reset_t phys_reset;
383383

384-
mcpm_set_entry_vector(cpu, cluster, cpu_resume);
384+
mcpm_set_entry_vector(cpu, cluster, cpu_resume_no_hyp);
385385
setup_mm_for_reboot();
386386

387387
__mcpm_cpu_going_down(cpu, cluster);

arch/arm/include/asm/assembler.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,9 @@ THUMB( orr \reg , \reg , #PSR_T_BIT )
376376
.macro usraccoff, instr, reg, ptr, inc, off, cond, abort, t=TUSER()
377377
9999:
378378
.if \inc == 1
379-
\instr\cond\()b\()\t\().w \reg, [\ptr, #\off]
379+
\instr\()b\t\cond\().w \reg, [\ptr, #\off]
380380
.elseif \inc == 4
381-
\instr\cond\()\t\().w \reg, [\ptr, #\off]
381+
\instr\t\cond\().w \reg, [\ptr, #\off]
382382
.else
383383
.error "Unsupported inc macro argument"
384384
.endif
@@ -417,9 +417,9 @@ THUMB( orr \reg , \reg , #PSR_T_BIT )
417417
.rept \rept
418418
9999:
419419
.if \inc == 1
420-
\instr\cond\()b\()\t \reg, [\ptr], #\inc
420+
\instr\()b\t\cond \reg, [\ptr], #\inc
421421
.elseif \inc == 4
422-
\instr\cond\()\t \reg, [\ptr], #\inc
422+
\instr\t\cond \reg, [\ptr], #\inc
423423
.else
424424
.error "Unsupported inc macro argument"
425425
.endif
@@ -460,7 +460,7 @@ THUMB( orr \reg , \reg , #PSR_T_BIT )
460460
.macro check_uaccess, addr:req, size:req, limit:req, tmp:req, bad:req
461461
#ifndef CONFIG_CPU_USE_DOMAINS
462462
adds \tmp, \addr, #\size - 1
463-
sbcccs \tmp, \tmp, \limit
463+
sbcscc \tmp, \tmp, \limit
464464
bcs \bad
465465
#ifdef CONFIG_CPU_SPECTRE
466466
movcs \addr, #0
@@ -474,7 +474,7 @@ THUMB( orr \reg , \reg , #PSR_T_BIT )
474474
sub \tmp, \limit, #1
475475
subs \tmp, \tmp, \addr @ tmp = limit - 1 - addr
476476
addhs \tmp, \tmp, #1 @ if (tmp >= 0) {
477-
subhss \tmp, \tmp, \size @ tmp = limit - (addr + size) }
477+
subshs \tmp, \tmp, \size @ tmp = limit - (addr + size) }
478478
movlo \addr, #0 @ if (tmp < 0) addr = NULL
479479
csdb
480480
#endif

0 commit comments

Comments
 (0)