Commit e8b47128 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM and clkdev updates from Russell King:

 - Simplify ARM_MMU_KEEP usage

 - Add Rust support for ARM architecture version 7

 - Align IPIs reported in /proc/interrupts

 - require linker to support KEEP within OVERLAY

 - add KEEP() for ARM vectors

 - add __printf() attribute for clkdev functions

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
  ARM: 9445/1: clkdev: Mark some functions with __printf() attribute
  ARM: 9444/1: add KEEP() keyword to ARM_VECTORS
  ARM: 9443/1: Require linker to support KEEP within OVERLAY for DCE
  ARM: 9442/1: smp: Fix IPI alignment in /proc/interrupts
  ARM: 9441/1: rust: Enable Rust support for ARMv7
  ARM: 9439/1: arm32: simplify ARM_MMU_KEEP usage
parents aa18761a 623c3015
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ support corresponds to ``S`` values in the ``MAINTAINERS`` file.
=============  ================  ==============================================
Architecture   Level of support  Constraints
=============  ================  ==============================================
``arm``        Maintained        ARMv7 Little Endian only.
``arm64``      Maintained        Little Endian only.
``loongarch``  Maintained        \-
``riscv``      Maintained        ``riscv64`` and LLVM/Clang only.
+2 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ config ARM
	select HAVE_KERNEL_XZ
	select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
	select HAVE_KRETPROBES if HAVE_KPROBES
	select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if (LD_VERSION >= 23600 || LD_IS_LLD)
	select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if (LD_VERSION >= 23600 || LD_CAN_USE_KEEP_IN_OVERLAY)
	select HAVE_MOD_ARCH_SPECIFIC
	select HAVE_NMI
	select HAVE_OPTPROBES if !THUMB2_KERNEL
@@ -133,6 +133,7 @@ config ARM
	select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HAVE_RSEQ
	select HAVE_RUST if CPU_LITTLE_ENDIAN && CPU_32v7
	select HAVE_STACKPROTECTOR
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_UID16
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ endif
KBUILD_CPPFLAGS	+=$(cpp-y)
KBUILD_CFLAGS	+=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm
KBUILD_AFLAGS	+=$(CFLAGS_ABI) $(AFLAGS_ISA) -Wa,$(arch-y) $(tune-y) -include asm/unified.h -msoft-float
KBUILD_RUSTFLAGS += --target=arm-unknown-linux-gnueabi

CHECKFLAGS	+= -D__arm__

+10 −4
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
#endif

#ifdef CONFIG_MMU
#define ARM_MMU_KEEP(x)		x
#define ARM_MMU_KEEP(x)		KEEP(x)
#define ARM_MMU_DISCARD(x)
#else
#define ARM_MMU_KEEP(x)
@@ -34,6 +34,12 @@
#define NOCROSSREFS
#endif

#ifdef CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY
#define OVERLAY_KEEP(x)		KEEP(x)
#else
#define OVERLAY_KEEP(x)		x
#endif

/* Set start/end symbol names to the LMA for the section */
#define ARM_LMA(sym, section)						\
	sym##_start = LOADADDR(section);				\
@@ -125,13 +131,13 @@
	__vectors_lma = .;						\
	OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) {		\
		.vectors {						\
			*(.vectors)					\
			OVERLAY_KEEP(*(.vectors))			\
		}							\
		.vectors.bhb.loop8 {					\
			*(.vectors.bhb.loop8)				\
			OVERLAY_KEEP(*(.vectors.bhb.loop8))		\
		}							\
		.vectors.bhb.bpiall {					\
			*(.vectors.bhb.bpiall)				\
			OVERLAY_KEEP(*(.vectors.bhb.bpiall))		\
		}							\
	}								\
	ARM_LMA(__vectors, .vectors);					\
+2 −1
Original line number Diff line number Diff line
@@ -551,7 +551,8 @@ void show_ipi_list(struct seq_file *p, int prec)
		if (!ipi_desc[i])
			continue;

		seq_printf(p, "%*s%u: ", prec - 1, "IPI", i);
		seq_printf(p, "%*s%u:%s", prec - 1, "IPI", i,
			   prec >= 4 ? " " : "");

		for_each_online_cpu(cpu)
			seq_printf(p, "%10u ", irq_desc_kstat_cpu(ipi_desc[i], cpu));
Loading