From: Ard Biesheuvel <[email protected]>
To: [email protected], [email protected]
Cc: Ard Biesheuvel <[email protected]>,
Russell King <[email protected]>,
Nicolas Pitre <[email protected]>, Arnd Bergmann <[email protected]>,
Kees Cook <[email protected]>,
Keith Packard <[email protected]>,
Linus Walleij <[email protected]>,
Nick Desaulniers <[email protected]>,
Tony Lindgren <[email protected]>, Marc Zyngier <[email protected]>,
Vladimir Murzin <[email protected]>,
Jesse Taube <[email protected]>
Subject: [GIT PULL] IRQ stacks and vmap'ed stack for ARM
Date: Wed, 8 Dec 2021 10:26:11 +0100 [thread overview]
Message-ID: <[email protected]> (raw)
The following changes since commit fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf:
Linux 5.16-rc1 (2021-11-14 13:56:52 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-irq-and-vmap-stacks-for-rmk
for you to fetch changes up to cafc0eab168917ec9c0cd47d530a40cd40eb2928:
ARM: v7m: enable support for IRQ stacks (2021-12-06 12:49:17 +0100)
Cc: Russell King <[email protected]>
Cc: Nicolas Pitre <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Keith Packard <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Nick Desaulniers <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc: Marc Zyngier <[email protected]>
Cc: Vladimir Murzin <[email protected]>
Cc: Jesse Taube <[email protected]>
----------------------------------------------------------------
ARM: support for IRQ and vmap'ed stacks
This PR covers all the work related to implementing IRQ stacks and
vmap'ed stacks for all 32-bit ARM systems that are currently supported
by the Linux kernel, including RiscPC and Footbridge. It has been
submitted for review in three different waves:
- IRQ stacks support for v7 SMP systems [0],
- vmap'ed stacks support for v7 SMP systems[1],
- extending support for both IRQ stacks and vmap'ed stacks for all
remaining configurations, including v6/v7 SMP multiplatform kernels
and uniprocessor configurations including v7-M [2]
[0] https://lore.kernel.org/linux-arm-kernel/[email protected]/
[1] https://lore.kernel.org/linux-arm-kernel/[email protected]/
[2] https://lore.kernel.org/linux-arm-kernel/[email protected]/
----------------------------------------------------------------
Ard Biesheuvel (27):
ARM: decompressor: disable stack protector
ARM: stackprotector: prefer compiler for TLS based per-task protector
ARM: remove some dead code
ARM: assembler: introduce bl_r macro
ARM: unwind: support unwinding across multiple stacks
ARM: export dump_mem() to other objects
ARM: unwind: dump exception stack from calling frame
ARM: backtrace-clang: avoid crash on bogus frame pointer
ARM: implement IRQ stacks
ARM: call_with_stack: add unwind support
ARM: run softirqs on the per-CPU IRQ stack
ARM: memcpy: use frame pointer as unwind anchor
ARM: memmove: use frame pointer as unwind anchor
ARM: memset: clean up unwind annotations
ARM: unwind: disregard unwind info before stack frame is set up
ARM: switch_to: clean up Thumb2 code path
ARM: entry: rework stack realignment code in svc_entry
ARM: implement support for vmap'ed stacks
ARM: riscpc: drop support for IOMD_IRQREQC/IOMD_IRQREQD IRQ groups
ARM: entry: preserve thread_info pointer in switch_to
ARM: module: implement support for PC-relative group relocations
ARM: assembler: add optimized ldr/str macros to load variables from memory
ARM: percpu: add SMP_ON_UP support
ARM: use TLS register for 'current' on !SMP as well
ARM: smp: defer TPIDRURO update for SMP v6 configurations too
ARM: implement THREAD_INFO_IN_TASK for uniprocessor systems
ARM: v7m: enable support for IRQ stacks
Arnd Bergmann (5):
ARM: riscpc: use GENERIC_IRQ_MULTI_HANDLER
ARM: footbridge: use GENERIC_IRQ_MULTI_HANDLER
ARM: iop32x: offset IRQ numbers by 1
ARM: iop32x: use GENERIC_IRQ_MULTI_HANDLER
ARM: remove old-style irq entry
Vladimir Murzin (1):
irqchip: nvic: Use GENERIC_IRQ_MULTI_HANDLER
arch/arm/Kconfig | 31 ++-
arch/arm/Makefile | 9 +
arch/arm/boot/compressed/Makefile | 6 +-
arch/arm/boot/compressed/misc.c | 7 -
arch/arm/include/asm/assembler.h | 204 ++++++++++++++++----
arch/arm/include/asm/current.h | 37 ++--
arch/arm/include/asm/elf.h | 3 +
arch/arm/include/asm/entry-macro-multi.S | 40 ----
arch/arm/include/asm/hardware/entry-macro-iomd.S | 131 -------------
arch/arm/include/asm/insn.h | 24 +++
arch/arm/include/asm/irq.h | 1 -
arch/arm/include/asm/mach/arch.h | 2 -
arch/arm/include/asm/page.h | 4 +
arch/arm/include/asm/percpu.h | 25 ++-
arch/arm/include/asm/smp.h | 5 -
arch/arm/include/asm/stacktrace.h | 12 ++
arch/arm/include/asm/switch_to.h | 3 +-
arch/arm/include/asm/thread_info.h | 35 +---
arch/arm/include/asm/tls.h | 13 +-
arch/arm/include/asm/v7m.h | 3 +-
arch/arm/kernel/asm-offsets.c | 3 -
arch/arm/kernel/entry-armv.S | 209 +++++++++++++++++----
arch/arm/kernel/entry-common.S | 16 +-
arch/arm/kernel/entry-header.S | 48 ++++-
arch/arm/kernel/entry-v7m.S | 39 ++--
arch/arm/kernel/head-common.S | 4 +-
arch/arm/kernel/irq.c | 61 ++++--
arch/arm/kernel/module.c | 85 +++++++++
arch/arm/kernel/process.c | 7 +-
arch/arm/kernel/setup.c | 8 +-
arch/arm/kernel/sleep.S | 6 +
arch/arm/kernel/smp.c | 16 +-
arch/arm/kernel/traps.c | 107 ++++++++++-
arch/arm/kernel/unwind.c | 50 +++--
arch/arm/kernel/vmlinux.lds.S | 4 +-
arch/arm/lib/backtrace-clang.S | 14 +-
arch/arm/lib/backtrace.S | 8 +
arch/arm/lib/call_with_stack.S | 33 +++-
arch/arm/lib/copy_from_user.S | 13 +-
arch/arm/lib/copy_template.S | 67 +++----
arch/arm/lib/copy_to_user.S | 13 +-
arch/arm/lib/memcpy.S | 13 +-
arch/arm/lib/memmove.S | 60 ++----
arch/arm/lib/memset.S | 7 +-
arch/arm/mach-footbridge/common.c | 87 +++++++++
.../arm/mach-footbridge/include/mach/entry-macro.S | 107 -----------
arch/arm/mach-iop32x/cp6.c | 10 +-
arch/arm/mach-iop32x/include/mach/entry-macro.S | 31 ---
arch/arm/mach-iop32x/include/mach/irqs.h | 2 +-
arch/arm/mach-iop32x/iop3xx.h | 1 +
arch/arm/mach-iop32x/irq.c | 29 ++-
arch/arm/mach-iop32x/irqs.h | 60 +++---
arch/arm/mach-rpc/fiq.S | 5 +-
arch/arm/mach-rpc/include/mach/entry-macro.S | 13 --
arch/arm/mach-rpc/irq.c | 95 ++++++++++
arch/arm/mm/Kconfig | 1 +
drivers/irqchip/Kconfig | 1 +
drivers/irqchip/irq-nvic.c | 22 +--
58 files changed, 1217 insertions(+), 733 deletions(-)
delete mode 100644 arch/arm/include/asm/entry-macro-multi.S
delete mode 100644 arch/arm/include/asm/hardware/entry-macro-iomd.S
delete mode 100644 arch/arm/mach-footbridge/include/mach/entry-macro.S
delete mode 100644 arch/arm/mach-iop32x/include/mach/entry-macro.S
delete mode 100644 arch/arm/mach-rpc/include/mach/entry-macro.S
_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-12-08 9:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-08 9:26 Ard Biesheuvel [this message]
2021-12-09 10:15 ` [GIT PULL] IRQ stacks and vmap'ed stack for ARM Arnd Bergmann
2021-12-09 13:38 ` Linus Walleij
2021-12-09 13:40 ` Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).