This is v2 of "alpha: catch up on architecture Kconfig options"
(https://lore.kernel.org/linux-alpha/caedq38foupzftf9vdcjk8l38j+cdztyxdl+fj-3oaqhmmox...@mail.gmail.com/T/#t),
addressing Magnus Lindholm's review and rebased onto v7.3-rc1 plus his
GENERIC_ENTRY v5
(https://lore.kernel.org/linux-alpha/[email protected]/T/#t),
per his request.

Changes since v1:

 - Dropped "fix arch_irqs_disabled_flags() to treat any raised IPL as
   disabled".  Magnus's objection was right: per the Architecture
   Reference Manual an intermediate IPL only masks interrupts at or
   below that level, and do_entInt() already drives PS.IPL to IPL_MAX
   itself before reporting hardirq state to lockdep, so the original
   arch_irqs_disabled_flags() was correct as it stood.

 - Dropped "add TRACE_IRQFLAGS_SUPPORT".  It conflicted with
   GENERIC_ENTRY exactly where Magnus expected: the entInt, entSys, and
   restore_all instrumentation it added is now redundant with the
   hardirq-state transitions GENERIC_ENTRY performs on those paths
   itself.  I want to work out separately, and with real testing,
   whether the remaining synchronous-exception entry points need
   anything at all here, rather than resend a patch I can't fully
   justify.

 - Fixed "add ARCH_SUPPORTS_PAGE_TABLE_CHECK support", which no longer
   built against v7.3-rc1: commit cf8771ca4cdb ("mm/page_table_check:
   Pass mm_struct to pxx_user_accessible_page()") changed the callback
   signature, and Alpha's copy is now updated to match.

 - Added the Signed-off-by that was missing from "select SPARSE_IRQ".

 - Folded the corresponding arch-support.txt updates into "select
   ARCH_HAS_GCOV_PROFILE_ALL", "select HAVE_DEBUG_KMEMLEAK", "add
   ARCH_HAS_PTE_SPECIAL support", and "select ARCH_HAS_DEBUG_VM_PGTABLE",
   and added ALPHA to the memtest= parameter list in
   kernel-parameters.txt.

 - Did not touch "add HAVE_PERF_REGS and HAVE_PERF_USER_STACK_DUMP
   support" beyond rebasing it.  Magnus found real gaps there
   (tools/perf has no Alpha register mask, and regs->usp isn't
   snapshotted on the interrupt path), so I've left the corresponding
   feature matrices alone rather than claim it's done.

 - Picked up Tested-by/Reviewed-by from Magnus on the patches he gave
   them for.

Not yet addressed: whether do_entInt() should own hardirq context for
both interrupt paths and drop the irq_enter()/irq_exit() pair from
handle_irq(), which Magnus asked about on "enter hardirq context before
looking up the irq descriptor". No code change there yet; I'll follow up
on that thread separately.

Tested by cross-building with alpha-unknown-linux-gnu-gcc against
defconfig and, for the page-table-check fix, against a config with
CONFIG_PAGE_TABLE_CHECK=y. Boot tested on an AlphaServer ES47.

Also available at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha.git 
arch-kconfig-options-v2

Signed-off-by: Matt Turner <[email protected]>
---
Matt Turner (22):
      alpha: enter hardirq context before looking up the irq descriptor
      alpha: select ARCH_HAS_UBSAN
      alpha: select ARCH_HAS_GCOV_PROFILE_ALL
      alpha: select HAVE_DEBUG_KMEMLEAK
      alpha: select EDAC_SUPPORT
      alpha: select ARCH_SUPPORTS_ATOMIC_RMW
      alpha: select ARCH_HAS_FAST_MULTIPLIER
      alpha: select ARCH_SUPPORTS_INT128
      alpha: select HAVE_ARCH_COMPILER_H
      alpha: select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
      alpha: add HAVE_ARCH_THREAD_STRUCT_WHITELIST support
      alpha: add ARCH_HAS_PTE_SPECIAL support
      alpha: add ARCH_SUPPORTS_PAGE_TABLE_CHECK support
      alpha: select ARCH_HAS_DEBUG_VM_PGTABLE
      alpha: select HAVE_GUP_FAST
      alpha: select ARCH_USE_MEMTEST
      alpha: select SYSCTL_EXCEPTION_TRACE
      alpha: discard .eh_frame and the relocation sections
      alpha: select ARCH_WANT_LD_ORPHAN_WARN
      alpha: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
      alpha: add HAVE_PERF_REGS and HAVE_PERF_USER_STACK_DUMP support
      alpha: select SPARSE_IRQ

 Documentation/admin-guide/kernel-parameters.txt    |  2 +-
 .../debug/debug-vm-pgtable/arch-support.txt        |  2 +-
 .../debug/gcov-profile-all/arch-support.txt        |  2 +-
 .../features/debug/kmemleak/arch-support.txt       |  2 +-
 .../features/vm/pte_special/arch-support.txt       |  2 +-
 arch/alpha/Kconfig                                 | 21 ++++++
 arch/alpha/include/asm/perf_regs.h                 |  7 ++
 arch/alpha/include/asm/pgtable.h                   | 24 +++++-
 arch/alpha/include/asm/processor.h                 |  7 ++
 arch/alpha/include/uapi/asm/perf_regs.h            | 34 +++++++++
 arch/alpha/kernel/Makefile                         |  1 +
 arch/alpha/kernel/irq.c                            |  9 ++-
 arch/alpha/kernel/irq_alpha.c                      | 13 ++++
 arch/alpha/kernel/perf_regs.c                      | 86 ++++++++++++++++++++++
 arch/alpha/kernel/vmlinux.lds.S                    | 11 +++
 arch/alpha/mm/fault.c                              | 29 ++++++++
 arch/alpha/mm/init.c                               |  5 ++
 17 files changed, 248 insertions(+), 9 deletions(-)
---
base-commit: f321329c1b70835e6b0807fddac6d4117e5604fc
change-id: 20260904-arch-kconfig-options-v2-8efa959ffcbd

Best regards,
-- 
Matt Turner <[email protected]>


Reply via email to