linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

             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).