Skip to content

Commit 40ddad1

Browse files
committed
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: - add arch/arm/Kbuild from Masahiro Yamada. - simplify act_mm macro, since it contains an open-coded get_thread_info. - VFP updates for Clang from Stefan Agner. - Fix unwinder for Clang from Nathan Huckleberry. - Remove unused it8152 PCI host controller, used by the removed cm-x2xx platforms from Mike Rapoport. - Further explanation of __range_ok(). - Remove kimage_voffset that isn't used anymore from Marc Zyngier. - Drop ancient Thumb-2 workaround for old binutils from Ard Biesheuvel. - Documentation cleanup for mach-* from Pete Zaitcev. * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 8996/1: Documentation/Clean up the description of mach-<class> ARM: 8995/1: drop Thumb-2 workaround for ancient binutils ARM: 8994/1: mm: drop kimage_voffset which was only used by KVM ARM: uaccess: add further explanation of __range_ok() ARM: 8993/1: remove it8152 PCI controller driver ARM: 8992/1: Fix unwind_frame for clang-built kernels ARM: 8991/1: use VFP assembler mnemonics if available ARM: 8990/1: use VFP assembler mnemonics in register load/store macros ARM: 8989/1: use .fpu assembler directives instead of assembler arguments ARM: 8982/1: mm: Simplify act_mm macro ARM: 8981/1: add arch/arm/Kbuild
2 parents 2044513 + 918c950 commit 40ddad1

File tree

18 files changed

+116
-576
lines changed

18 files changed

+116
-576
lines changed

Documentation/arm/arm.rst

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,10 +184,8 @@ Kernel entry (head.S)
184184
We group machine (or platform) support code into machine classes. A
185185
class typically based around one or more system on a chip devices, and
186186
acts as a natural container around the actual implementations. These
187-
classes are given directories - arch/arm/mach-<class> and
188-
arch/arm/mach-<class> - which contain the source files to/include/mach
189-
support the machine class. This directories also contain any machine
190-
specific supporting code.
187+
classes are given directories - arch/arm/mach-<class> - which contain
188+
the source files and include/mach/ to support the machine class.
191189

192190
For example, the SA1100 class is based upon the SA1100 and SA1110 SoC
193191
devices, and contains the code to support the way the on-board and off-

arch/arm/Kbuild

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# SPDX-License-Identifier: GPL-2.0-only
2+
obj-$(CONFIG_FPE_NWFPE) += nwfpe/
3+
# Put arch/arm/fastfpe/ to use this.
4+
obj-$(CONFIG_FPE_FASTFPE) += $(patsubst $(srctree)/$(src)/%,%,$(wildcard $(srctree)/$(src)/fastfpe/))
5+
obj-$(CONFIG_VFP) += vfp/
6+
obj-$(CONFIG_XEN) += xen/
7+
obj-$(CONFIG_VDSO) += vdso/
8+
obj-y += kernel/ mm/ common/
9+
obj-y += probes/
10+
obj-y += net/
11+
obj-y += crypto/

arch/arm/Kconfig

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1150,12 +1150,6 @@ config PCI_NANOENGINE
11501150
help
11511151
Enable PCI on the BSE nanoEngine board.
11521152

1153-
config PCI_HOST_ITE8152
1154-
bool
1155-
depends on PCI && MACH_ARMCORE
1156-
default y
1157-
select DMABOUNCE
1158-
11591153
config ARM_ERRATA_814220
11601154
bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
11611155
depends on CPU_V7
@@ -1430,37 +1424,6 @@ config THUMB2_KERNEL
14301424

14311425
If unsure, say N.
14321426

1433-
config THUMB2_AVOID_R_ARM_THM_JUMP11
1434-
bool "Work around buggy Thumb-2 short branch relocations in gas"
1435-
depends on THUMB2_KERNEL && MODULES
1436-
default y
1437-
help
1438-
Various binutils versions can resolve Thumb-2 branches to
1439-
locally-defined, preemptible global symbols as short-range "b.n"
1440-
branch instructions.
1441-
1442-
This is a problem, because there's no guarantee the final
1443-
destination of the symbol, or any candidate locations for a
1444-
trampoline, are within range of the branch. For this reason, the
1445-
kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1446-
relocation in modules at all, and it makes little sense to add
1447-
support.
1448-
1449-
The symptom is that the kernel fails with an "unsupported
1450-
relocation" error when loading some modules.
1451-
1452-
Until fixed tools are available, passing
1453-
-fno-optimize-sibling-calls to gcc should prevent gcc generating
1454-
code which hits this problem, at the cost of a bit of extra runtime
1455-
stack usage in some cases.
1456-
1457-
The problem is described in more detail at:
1458-
https://bugs.launchpad.net/binutils-linaro/+bug/725126
1459-
1460-
Only Thumb-2 kernels are affected.
1461-
1462-
Unless you are sure your tools don't have this problem, say Y.
1463-
14641427
config ARM_PATCH_IDIV
14651428
bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
14661429
depends on CPU_32v7 && !XIP_KERNEL
@@ -2099,3 +2062,5 @@ source "drivers/firmware/Kconfig"
20992062
if CRYPTO
21002063
source "arch/arm/crypto/Kconfig"
21012064
endif
2065+
2066+
source "arch/arm/Kconfig.assembler"

arch/arm/Kconfig.assembler

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
3+
config AS_VFP_VMRS_FPINST
4+
def_bool $(as-instr,.fpu vfpv2\nvmrs r0$(comma)FPINST)
5+
help
6+
Supported by binutils >= 2.24 and LLVM integrated assembler.

arch/arm/Makefile

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,6 @@ AFLAGS_NOWARN :=$(call as-option,-Wa$(comma)-mno-warn-deprecated,-Wa$(comma)-W)
123123
ifeq ($(CONFIG_THUMB2_KERNEL),y)
124124
CFLAGS_ISA :=-mthumb -Wa,-mimplicit-it=always $(AFLAGS_NOWARN)
125125
AFLAGS_ISA :=$(CFLAGS_ISA) -Wa$(comma)-mthumb
126-
# Work around buggy relocation from gas if requested:
127-
ifeq ($(CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11),y)
128-
KBUILD_CFLAGS_MODULE +=-fno-optimize-sibling-calls
129-
endif
130126
else
131127
CFLAGS_ISA :=$(call cc-option,-marm,) $(AFLAGS_NOWARN)
132128
AFLAGS_ISA :=$(CFLAGS_ISA)
@@ -276,18 +272,8 @@ endif
276272

277273
export TEXT_OFFSET GZFLAGS MMUEXT
278274

279-
core-$(CONFIG_FPE_NWFPE) += arch/arm/nwfpe/
280-
# Put arch/arm/fastfpe/ to use this.
281-
core-$(CONFIG_FPE_FASTFPE) += $(patsubst $(srctree)/%,%,$(wildcard $(srctree)/arch/arm/fastfpe/))
282-
core-$(CONFIG_VFP) += arch/arm/vfp/
283-
core-$(CONFIG_XEN) += arch/arm/xen/
284-
core-$(CONFIG_VDSO) += arch/arm/vdso/
285-
275+
core-y += arch/arm/
286276
# If we have a machine-specific directory, then include it in the build.
287-
core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
288-
core-y += arch/arm/probes/
289-
core-y += arch/arm/net/
290-
core-y += arch/arm/crypto/
291277
core-y += $(machdirs) $(platdirs)
292278

293279
# For cleaning

arch/arm/common/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
1212
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
1313
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
1414
obj-$(CONFIG_CPU_V7) += secure_cntvoff.o
15-
obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
1615
obj-$(CONFIG_MCPM) += mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o
1716
CFLAGS_REMOVE_mcpm_entry.o = -pg
1817
AFLAGS_mcpm_head.o := -march=armv7-a

0 commit comments

Comments
 (0)