Skip to content

Commit 9dd0013

Browse files
committed
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: - improve ARM implementation of pfn_valid() - various sparse fixes - spelling fixes - add further ARMv8 debug architecture versions - clang fix for decompressor - update to generic vDSO - remove Brahma-B53 from spectre hardening - initialise broadcast hrtimer device - use correct nm executable in decompressor - remove old mcount et.al. * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (26 commits) ARM: 8940/1: ftrace: remove mcount(),ftrace_caller_old() and ftrace_call_old() ARM: 8939/1: kbuild: use correct nm executable ARM: 8938/1: kernel: initialize broadcast hrtimer based clock event device ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening ARM: 8933/1: replace Sun/Solaris style flag on section directive ARM: 8932/1: Add clock_gettime64 entry point ARM: 8931/1: Add clock_getres entry point ARM: 8930/1: Add support for generic vDSO ARM: 8929/1: use APSR_nzcv instead of r15 as mrc operand ARM: 8927/1: ARM/hw_breakpoint: add more ARMv8 debug architecture versions support ARM: 8918/2: only build return_address() if needed ARM: 8928/1: ARM_ERRATA_775420: Spelling s/date/data/ ARM: 8925/1: tcm: include <asm/tcm.h> for missing declarations ARM: 8924/1: tcm: make dtcm_end and itcm_end static ARM: 8923/1: mm: include <asm/vga.h> for vga_base ARM: 8922/1: parse_dt_topology() rate is pointer to __be32 ARM: 8920/1: share get_signal_page from signal.c to process.c ARM: 8919/1: make unexported functions static ARM: 8917/1: mm: include <asm/set_memory.h> ARM: 8916/1: mm: make set_section_perms() static ...
2 parents 2309d07 + 1a70cf0 commit 9dd0013

Some content is hidden

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

59 files changed

+322
-428
lines changed

arch/arm/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ config ARM_ERRATA_775420
10181018
depends on CPU_V7
10191019
help
10201020
This option enables the workaround for the 775420 Cortex-A9 (r2p2,
1021-
r2p6,r2p8,r2p10,r3p0) erratum. In case a date cache maintenance
1021+
r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
10221022
operation aborts with MMU exception, it might cause the processor
10231023
to deadlock. This workaround puts DSB before executing ISB if
10241024
an abort may occur on cache maintenance.

arch/arm/boot/bootp/init.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* size immediately following the kernel, we could build this into
1414
* a binary blob, and concatenate the zImage using the cat command.
1515
*/
16-
.section .start,#alloc,#execinstr
16+
.section .start, "ax"
1717
.type _start, #function
1818
.globl _start
1919

arch/arm/boot/compressed/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin -I$(obj)
121121
asflags-y := -DZIMAGE
122122

123123
# Supply kernel BSS size to the decompressor via a linker symbol.
124-
KBSS_SZ = $(shell echo $$(($$($(CROSS_COMPILE)nm $(obj)/../../../../vmlinux | \
124+
KBSS_SZ = $(shell echo $$(($$($(NM) $(obj)/../../../../vmlinux | \
125125
sed -n -e 's/^\([^ ]*\) [AB] __bss_start$$/-0x\1/p' \
126126
-e 's/^\([^ ]*\) [AB] __bss_stop$$/+0x\1/p') )) )
127127
LDFLAGS_vmlinux = --defsym _kernel_bss_size=$(KBSS_SZ)
@@ -165,7 +165,7 @@ $(obj)/bswapsdi2.S: $(srctree)/arch/$(SRCARCH)/lib/bswapsdi2.S
165165
# The .data section is already discarded by the linker script so no need
166166
# to bother about it here.
167167
check_for_bad_syms = \
168-
bad_syms=$$($(CROSS_COMPILE)nm $@ | sed -n 's/^.\{8\} [bc] \(.*\)/\1/p') && \
168+
bad_syms=$$($(NM) $@ | sed -n 's/^.\{8\} [bc] \(.*\)/\1/p') && \
169169
[ -z "$$bad_syms" ] || \
170170
( echo "following symbols must have non local/private scope:" >&2; \
171171
echo "$$bad_syms" >&2; false )

arch/arm/boot/compressed/atags_to_fdt.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ static int node_offset(void *fdt, const char *node_path)
1919
}
2020

2121
static int setprop(void *fdt, const char *node_path, const char *property,
22-
uint32_t *val_array, int size)
22+
void *val_array, int size)
2323
{
2424
int offset = node_offset(fdt, node_path);
2525
if (offset < 0)
@@ -60,7 +60,7 @@ static uint32_t get_cell_size(const void *fdt)
6060
{
6161
int len;
6262
uint32_t cell_size = 1;
63-
const uint32_t *size_len = getprop(fdt, "/", "#size-cells", &len);
63+
const __be32 *size_len = getprop(fdt, "/", "#size-cells", &len);
6464

6565
if (size_len)
6666
cell_size = fdt32_to_cpu(*size_len);
@@ -129,7 +129,7 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
129129
struct tag *atag = atag_list;
130130
/* In the case of 64 bits memory size, need to reserve 2 cells for
131131
* address and size for each bank */
132-
uint32_t mem_reg_property[2 * 2 * NR_BANKS];
132+
__be32 mem_reg_property[2 * 2 * NR_BANKS];
133133
int memcount = 0;
134134
int ret, memsize;
135135

@@ -138,7 +138,7 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
138138
return 1;
139139

140140
/* if we get a DTB here we're done already */
141-
if (*(u32 *)atag_list == fdt32_to_cpu(FDT_MAGIC))
141+
if (*(__be32 *)atag_list == cpu_to_fdt32(FDT_MAGIC))
142142
return 0;
143143

144144
/* validate the ATAG */
@@ -177,8 +177,8 @@ int atags_to_fdt(void *atag_list, void *fdt, int total_space)
177177
/* if memsize is 2, that means that
178178
* each data needs 2 cells of 32 bits,
179179
* so the data are 64 bits */
180-
uint64_t *mem_reg_prop64 =
181-
(uint64_t *)mem_reg_property;
180+
__be64 *mem_reg_prop64 =
181+
(__be64 *)mem_reg_property;
182182
mem_reg_prop64[memcount++] =
183183
cpu_to_fdt64(atag->u.mem.start);
184184
mem_reg_prop64[memcount++] =

arch/arm/boot/compressed/big-endian.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Author: Nicolas Pitre
77
*/
88

9-
.section ".start", #alloc, #execinstr
9+
.section ".start", "ax"
1010

1111
mrc p15, 0, r0, c1, c0, 0 @ read control reg
1212
orr r0, r0, #(1 << 7) @ enable big endian mode

arch/arm/boot/compressed/head.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
#endif
141141
.endm
142142

143-
.section ".start", #alloc, #execinstr
143+
.section ".start", "ax"
144144
/*
145145
* sort out different calling conventions
146146
*/
@@ -1273,7 +1273,7 @@ iflush:
12731273
__armv5tej_mmu_cache_flush:
12741274
tst r4, #1
12751275
movne pc, lr
1276-
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate D cache
1276+
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test,clean,invalidate D cache
12771277
bne 1b
12781278
mcr p15, 0, r0, c7, c5, 0 @ flush I cache
12791279
mcr p15, 0, r0, c7, c10, 4 @ drain WB

arch/arm/boot/compressed/piggy.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
.section .piggydata,#alloc
2+
.section .piggydata, "a"
33
.globl input_data
44
input_data:
55
.incbin "arch/arm/boot/compressed/piggy_data"

arch/arm/include/asm/ftrace.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
#define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */
1212

1313
#ifndef __ASSEMBLY__
14-
extern void mcount(void);
1514
extern void __gnu_mcount_nc(void);
1615

1716
#ifdef CONFIG_DYNAMIC_FTRACE
@@ -23,9 +22,6 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
2322
/* With Thumb-2, the recorded addresses have the lsb set */
2423
return addr & ~1;
2524
}
26-
27-
extern void ftrace_caller_old(void);
28-
extern void ftrace_call_old(void);
2925
#endif
3026

3127
#endif

arch/arm/include/asm/hw_breakpoint.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ static inline void decode_ctrl_reg(u32 reg,
5353
#define ARM_DEBUG_ARCH_V7_MM 4
5454
#define ARM_DEBUG_ARCH_V7_1 5
5555
#define ARM_DEBUG_ARCH_V8 6
56+
#define ARM_DEBUG_ARCH_V8_1 7
57+
#define ARM_DEBUG_ARCH_V8_2 8
58+
#define ARM_DEBUG_ARCH_V8_4 9
5659

5760
/* Breakpoint */
5861
#define ARM_BREAKPOINT_EXECUTE 0

arch/arm/include/asm/pci.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,7 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
2727
return channel ? 15 : 14;
2828
}
2929

30+
extern void pcibios_report_status(unsigned int status_mask, int warn);
31+
3032
#endif /* __KERNEL__ */
3133
#endif

0 commit comments

Comments
 (0)