From: Catalin Marinas <cmarinas@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Will Deacon <will@kernel.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [GIT PULL] arm64 updates for 6.17
Date: Fri, 25 Jul 2025 15:42:17 +0100 [thread overview]
Message-ID: <aIOXyQG1OA8pv49m@arm.com> (raw)
In-Reply-To: <20250725143925.1674618-1-catalin.marinas@arm.com>
On Fri, Jul 25, 2025 at 03:39:25PM +0100, Catalin Marinas wrote:
> Please pull the arm64 updates below. A quick summary - perf support for
> Branch Record Buffer Extensions (BRBE), typical PMU hardware updates,
> small additions to MTE for store-only tag checking and exposing
> non-address bits to signal handlers, HAVE_LIVEPATCH enabled on arm64,
> VMAP_STACK forced on. There is also a TLBI optimisation on hardware that
> does not require break-before-make when changing the user PTEs between
> contiguous and non-contiguous. These patches touch the iommu/SMMU code.
> More details in the tag.
I forgot to send the original with my kernel.org address, in case it
ends up in your spam folder. So, here it is.
> Thanks.
>
> The following changes since commit ef8923e6c051a98164c2889db943df9695a39888:
>
> arm64: efi: Fix KASAN false positive for EFI runtime stack (2025-07-04 14:47:06 +0100)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux tags/arm64-upstream
>
> for you to fetch changes up to 5b1ae9de71335865d06ff0e60eadcf368a735edf:
>
> Merge branch 'for-next/feat_mte_store_only' into for-next/core (2025-07-24 16:03:34 +0100)
>
> ----------------------------------------------------------------
> arm64 updates for 6.17:
>
> Perf and PMU updates:
>
> - Add support for new (v3) Hisilicon SLLC and DDRC PMUs
>
> - Add support for Arm-NI PMU integrations that share interrupts between
> clock domains within a given instance
>
> - Allow SPE to be configured with a lower sample period than the
> minimum recommendation advertised by PMSIDR_EL1.Interval
>
> - Add suppport for Arm's "Branch Record Buffer Extension" (BRBE)
>
> - Adjust the perf watchdog period according to cpu frequency changes
>
> - Minor driver fixes and cleanups
>
> Hardware features:
>
> - Support for MTE store-only checking (FEAT_MTE_STORE_ONLY)
>
> - Support for reporting the non-address bits during a synchronous MTE
> tag check fault (FEAT_MTE_TAGGED_FAR)
>
> - Optimise the TLBI when folding/unfolding contiguous PTEs on hardware
> with FEAT_BBM (break-before-make) level 2 and no TLB conflict aborts
>
> Software features:
>
> - Enable HAVE_LIVEPATCH after implementing arch_stack_walk_reliable()
> and using the text-poke API for late module relocations
>
> - Force VMAP_STACK always on and change arm64_efi_rt_init() to use
> arch_alloc_vmap_stack() in order to avoid KASAN false positives
>
> ACPI:
>
> - Improve SPCR handling and messaging on systems lacking an SPCR table
>
> Debug:
>
> - Simplify the debug exception entry path
>
> - Drop redundant DBG_MDSCR_* macros
>
> Kselftests:
>
> - Cleanups and improvements for SME, SVE and FPSIMD tests
>
> Miscellaneous:
>
> - Optimise loop to reduce redundant operations in contpte_ptep_get()
>
> - Remove ISB when resetting POR_EL0 during signal handling
>
> - Mark the kernel as tainted on SEA and SError panic
>
> - Remove redundant gcs_free() call
>
> ----------------------------------------------------------------
> Ada Couprie Diaz (13):
> arm64: debug: clean up single_step_handler logic
> arm64: refactor aarch32_break_handler()
> arm64: debug: call software breakpoint handlers statically
> arm64: debug: call step handlers statically
> arm64: debug: remove break/step handler registration infrastructure
> arm64: entry: Add entry and exit functions for debug exceptions
> arm64: debug: split hardware breakpoint exception entry
> arm64: debug: refactor reinstall_suspended_bps()
> arm64: debug: split single stepping exception entry
> arm64: debug: split hardware watchpoint exception entry
> arm64: debug: split brk64 exception entry
> arm64: debug: split bkpt32 exception entry
> arm64: debug: remove debug exception registration infrastructure
>
> Alok Tiwari (3):
> perf/cxlpmu: Fix devm_kcalloc() argument order in cxl_pmu_probe()
> perf/cxlpmu: Remove unintended newline from IRQ name format string
> perf/cxlpmu: Fix typos in cxl_pmu.c comments and documentation
>
> Anshuman Khandual (6):
> arm64/debug: Drop redundant DBG_MDSCR_* macros
> KVM: selftests: Change MDSCR_EL1 register holding variables as uint64_t
> arm64/sysreg: Add BRBE registers and fields
> arm64: Handle BRBE booting requirements
> KVM: arm64: nvhe: Disable branch generation in nVHE guests
> arm64/mm: Drop redundant addr increment in set_huge_pte_at()
>
> Breno Leitao (9):
> arm64: Mandate VMAP_STACK
> arm64: efi: Remove CONFIG_VMAP_STACK check
> arm64: Remove CONFIG_VMAP_STACK conditionals from THREAD_SHIFT and THREAD_ALIGN
> arm64: remove CONFIG_VMAP_STACK conditionals from irq stack setup
> arm64: remove CONFIG_VMAP_STACK conditionals from traps overflow stack
> arm64: remove CONFIG_VMAP_STACK checks from stacktrace overflow logic
> arm64: remove CONFIG_VMAP_STACK checks from SDEI stack handling
> arm64: remove CONFIG_VMAP_STACK checks from entry code
> arm64: Mark kernel as tainted on SAE and SError panic
>
> Catalin Marinas (4):
> arm64: cpufeature: Introduce MATCH_ALL_EARLY_CPUS capability type
> arm64: Kconfig: Keep selects somewhat alphabetically ordered
> Merge branches 'for-next/livepatch', 'for-next/user-contig-bbml2', 'for-next/misc', 'for-next/acpi', 'for-next/debug-entry', 'for-next/feat_mte_tagged_far', 'for-next/kselftest', 'for-next/mdscr-cleanup' and 'for-next/vmap-stack', remote-tracking branch 'arm64/for-next/perf' into for-next/core
> Merge branch 'for-next/feat_mte_store_only' into for-next/core
>
> Colin Ian King (1):
> perf: imx9_perf: make the read-only array mask static const
>
> Dylan Hatch (1):
> arm64/module: Use text-poke API for late relocations.
>
> Jeremy Linton (1):
> arm64/gcs: task_gcs_el0_enable() should use passed task
>
> Junhao He (5):
> drivers/perf: hisi: Simplify the probe process for each DDRC version
> drivers/perf: hisi: Add support for HiSilicon DDRC v3 PMU driver
> drivers/perf: hisi: Use ACPI driver_data to retrieve SLLC PMU information
> drivers/perf: hisi: Add support for HiSilicon SLLC v3 PMU driver
> drivers/perf: hisi: Relax the event number check of v2 PMUs
>
> Kevin Brodsky (1):
> arm64: signal: Remove ISB when resetting POR_EL0
>
> Leo Yan (1):
> perf: arm_spe: Relax period restriction
>
> Li Chen (2):
> ACPI: Return -ENODEV from acpi_parse_spcr() when SPCR support is disabled
> ACPI: Suppress misleading SPCR console message when SPCR table is absent
>
> Mark Brown (11):
> kselftest/arm64: Convert tpidr2 test to use kselftest.h
> kselftest/arm64: Fix check for setting new VLs in sve-ptrace
> kselftest/arm64: Fix test for streaming FPSIMD write in sve-ptrace
> kselftest/arm64: Specify SVE data when testing VL set in sve-ptrace
> arm64/gcs: Don't call gcs_free() when releasing task_struct
> kselftest/arm4: Provide local defines for AT_HWCAP3
> kselftest/arm64: Allow sve-ptrace to run on SME only systems
> kselftest/arm64: Test FPSIMD format data writes via NT_ARM_SVE in fp-ptrace
> kselftest/arm64: Test SME on SME only systems in fp-ptrace
> kselftest/arm64: Fix SVE write data generation for SME only systems
> kselftest/arm64: Handle attempts to disable SM on SME only systems
>
> Mark Rutland (1):
> arm64: stacktrace: Check kretprobe_find_ret_addr() return value
>
> Masahiro Yamada (2):
> arm64: pi: use 'targets' instead of extra-y in Makefile
> arm64: fix unnecessary rebuilding when CONFIG_DEBUG_EFI=y
>
> Mikołaj Lenczewski (3):
> arm64: Add BBM Level 2 cpu feature
> iommu/arm: Add BBM Level 2 smmu feature
> arm64/mm: Elide tlbi in contpte_convert() under BBML2
>
> Rob Herring (Arm) (1):
> perf: arm_pmuv3: Add support for the Branch Record Buffer Extension (BRBE)
>
> Robin Murphy (4):
> perf/arm-ni: Set initial IRQ affinity
> perf/arm-cmn: Reduce stack usage during discovery
> perf/arm: Add missing .suppress_bind_attrs
> perf/arm-ni: Consolidate CPU affinity handling
>
> Shouping Wang (1):
> perf/arm-ni: Support sharing IRQs within an NI instance
>
> Song Liu (2):
> arm64: stacktrace: Implement arch_stack_walk_reliable()
> arm64: Implement HAVE_LIVEPATCH
>
> Xavier Xia (1):
> arm64/mm: Optimize loop to reduce redundant operations of contpte_ptep_get
>
> Yeoreum Yun (18):
> arm64/cpufeature: Add FEAT_MTE_TAGGED_FAR feature
> arm64: Report address tag when FEAT_MTE_TAGGED_FAR is supported
> KVM: arm64: Expose FEAT_MTE_TAGGED_FAR feature to guest
> kselftest/arm64: Add MTE_FAR hwcap test
> kselftest/arm64/mte: Register mte signal handler with SA_EXPOSE_TAGBITS
> kselftest/arm64/mte: Check MTE_FAR feature is supported
> kselftest/arm64/mte: Add address tag related macro and function
> kselftest/arm64/mte: Add verification for address tag in signal handler
> kselftest/arm64/mte: Refactor check_mmap_option test
> kselftest/arm64/mte: Add mtefar tests on check_mmap_options
> arm64/cpufeature: Add MTE_STORE_ONLY feature
> prctl: Introduce PR_MTE_STORE_ONLY
> arm64/kernel: Support store-only mte tag check
> arm64/hwcaps: Add MTE_STORE_ONLY hwcaps
> KVM: arm64: Expose MTE_STORE_ONLY feature to guest
> kselftest/arm64/abi: Add MTE_STORE_ONLY feature hwcap test
> kselftest/arm64/mte: Preparation for mte store only test
> kselftest/arm64/mte: Add MTE_STORE_ONLY testcases
>
> Yicong Yang (3):
> watchdog/perf: Provide function for adjusting the event period
> arm64/watchdog_hld: Add a cpufreq notifier for update watchdog thresh
> drivers/perf: hisi: Support PMUs with no interrupt
>
> Zhiyuan Dai (1):
> perf/arm-cmn: Broaden module description for wider interconnect support
>
> Documentation/arch/arm64/booting.rst | 21 +
> Documentation/arch/arm64/elf_hwcaps.rst | 6 +
> Documentation/arch/arm64/tagged-pointers.rst | 11 +-
> arch/arm64/Kconfig | 4 +
> arch/arm64/include/asm/assembler.h | 4 +-
> arch/arm64/include/asm/cpufeature.h | 28 +
> arch/arm64/include/asm/debug-monitors.h | 40 +-
> arch/arm64/include/asm/el2_setup.h | 71 +-
> arch/arm64/include/asm/exception.h | 14 +-
> arch/arm64/include/asm/gcs.h | 2 +-
> arch/arm64/include/asm/hwcap.h | 2 +
> arch/arm64/include/asm/kgdb.h | 12 +
> arch/arm64/include/asm/kprobes.h | 8 +
> arch/arm64/include/asm/kvm_host.h | 2 +
> arch/arm64/include/asm/memory.h | 6 +-
> arch/arm64/include/asm/processor.h | 2 +
> arch/arm64/include/asm/stacktrace.h | 6 +-
> arch/arm64/include/asm/sysreg.h | 16 +-
> arch/arm64/include/asm/system_misc.h | 4 -
> arch/arm64/include/asm/thread_info.h | 5 +-
> arch/arm64/include/asm/traps.h | 6 +
> arch/arm64/include/asm/uprobes.h | 11 +
> arch/arm64/include/uapi/asm/hwcap.h | 2 +
> arch/arm64/kernel/Makefile | 2 +-
> arch/arm64/kernel/acpi.c | 10 +-
> arch/arm64/kernel/cpufeature.c | 116 ++-
> arch/arm64/kernel/cpuinfo.c | 2 +
> arch/arm64/kernel/debug-monitors.c | 277 +++----
> arch/arm64/kernel/efi.c | 5 -
> arch/arm64/kernel/entry-common.c | 156 +++-
> arch/arm64/kernel/entry.S | 6 -
> arch/arm64/kernel/hw_breakpoint.c | 60 +-
> arch/arm64/kernel/irq.c | 13 -
> arch/arm64/kernel/kgdb.c | 39 +-
> arch/arm64/kernel/module.c | 101 ++-
> arch/arm64/kernel/mte.c | 11 +-
> arch/arm64/kernel/pi/Makefile | 2 +-
> arch/arm64/kernel/probes/kprobes.c | 31 +-
> arch/arm64/kernel/probes/kprobes_trampoline.S | 2 +-
> arch/arm64/kernel/probes/uprobes.c | 24 +-
> arch/arm64/kernel/process.c | 13 +-
> arch/arm64/kernel/sdei.c | 8 +-
> arch/arm64/kernel/signal.c | 7 +-
> arch/arm64/kernel/stacktrace.c | 59 +-
> arch/arm64/kernel/traps.c | 84 +-
> arch/arm64/kernel/watchdog_hld.c | 58 ++
> arch/arm64/kvm/debug.c | 4 +
> arch/arm64/kvm/hyp/nvhe/debug-sr.c | 32 +
> arch/arm64/kvm/hyp/nvhe/switch.c | 2 +-
> arch/arm64/kvm/sys_regs.c | 11 +-
> arch/arm64/mm/contpte.c | 211 ++++-
> arch/arm64/mm/fault.c | 83 +-
> arch/arm64/mm/gcs.c | 6 -
> arch/arm64/mm/hugetlbpage.c | 2 +-
> arch/arm64/mm/proc.S | 2 +-
> arch/arm64/tools/cpucaps | 3 +
> arch/arm64/tools/sysreg | 132 +++
> drivers/firmware/efi/libstub/Makefile.zboot | 2 +-
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 3 +
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 2 +
> drivers/perf/Kconfig | 11 +
> drivers/perf/Makefile | 1 +
> drivers/perf/arm-cmn.c | 20 +-
> drivers/perf/arm-ni.c | 153 ++--
> drivers/perf/arm_brbe.c | 805 +++++++++++++++++++
> drivers/perf/arm_brbe.h | 47 ++
> drivers/perf/arm_pmu.c | 16 +-
> drivers/perf/arm_pmuv3.c | 107 ++-
> drivers/perf/arm_spe_pmu.c | 18 +-
> drivers/perf/cxl_pmu.c | 12 +-
> drivers/perf/fsl_imx9_ddr_perf.c | 8 +-
> drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c | 354 ++++----
> drivers/perf/hisilicon/hisi_uncore_hha_pmu.c | 6 +-
> drivers/perf/hisilicon/hisi_uncore_pa_pmu.c | 2 +-
> drivers/perf/hisilicon/hisi_uncore_pmu.c | 11 +-
> drivers/perf/hisilicon/hisi_uncore_pmu.h | 2 +
> drivers/perf/hisilicon/hisi_uncore_sllc_pmu.c | 220 +++--
> include/linux/acpi.h | 2 +-
> include/linux/nmi.h | 2 +
> include/linux/perf/arm_pmu.h | 8 +
> include/uapi/linux/prctl.h | 2 +
> kernel/watchdog_perf.c | 22 +
> tools/testing/selftests/arm64/abi/Makefile | 2 +-
> tools/testing/selftests/arm64/abi/hwcap.c | 16 +
> tools/testing/selftests/arm64/abi/tpidr2.c | 140 +---
> tools/testing/selftests/arm64/fp/fp-ptrace.c | 77 +-
> tools/testing/selftests/arm64/fp/sve-ptrace.c | 12 +-
> .../selftests/arm64/mte/check_buffer_fill.c | 12 +-
> .../selftests/arm64/mte/check_child_memory.c | 8 +-
> .../selftests/arm64/mte/check_hugetlb_options.c | 10 +-
> .../selftests/arm64/mte/check_ksm_options.c | 6 +-
> .../selftests/arm64/mte/check_mmap_options.c | 890 +++++++++++++++++++--
> tools/testing/selftests/arm64/mte/check_prctl.c | 29 +-
> .../selftests/arm64/mte/check_tags_inclusion.c | 10 +-
> tools/testing/selftests/arm64/mte/check_user_mem.c | 4 +-
> .../testing/selftests/arm64/mte/mte_common_util.c | 84 +-
> .../testing/selftests/arm64/mte/mte_common_util.h | 9 +-
> tools/testing/selftests/arm64/mte/mte_def.h | 8 +
> .../testing/selftests/kvm/arm64/debug-exceptions.c | 4 +-
> 100 files changed, 3768 insertions(+), 1249 deletions(-)
> create mode 100644 drivers/perf/arm_brbe.c
> create mode 100644 drivers/perf/arm_brbe.h
next prev parent reply other threads:[~2025-07-25 14:45 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 14:39 [GIT PULL] arm64 updates for 6.17 Catalin Marinas
2025-07-25 14:42 ` Catalin Marinas [this message]
2025-07-30 3:39 ` pr-tracker-bot
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 \
--in-reply-to=aIOXyQG1OA8pv49m@arm.com \
--to=cmarinas@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=will@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.