[<prev] [next>] [day] [month] [year] [list]
Message-ID: <aNbJ0YiL7Us_eicz@willie-the-truck>
Date: Fri, 26 Sep 2025 18:13:53 +0100
From: Will Deacon <will@...nel.org>
To: torvalds@...ux-foundation.org
Cc: catalin.marinas@....com, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, kernel-team@...roid.com,
brauner@...nel.org
Subject: [GIT PULL] arm64 updates for 6.18
Hi Linus,
[sending this early as I'm fishing on Monday]
Please pull this wad of arm64 changes for 6.18. There's good stuff
across the board, including some nice mm improvements for CPUs with
the "noabort" BBML2 feature and a clever patch to allow ptdump to play
nicely with block mappings in the vmalloc area.
We've only had a couple of trivial conflicts show up in -next:
* The fs-next tree has taken clone3() support for shadow stacks and
this gives rise to a simple context conflict in our asm/gcs.h.
There's been some late ABI feedback from the glibc community,
however, so maybe Christian will end up dropping the patches [1].
* The kbuild tree has removed the tautological dependency that
CONFIG_CPU_BIG_ENDIAN has on the assembler version. However, we've
extended that to make it depend on BROKEN in anticipation of
dropping support altogether.
I've already got a handful of minor fixes to go on top but I'll send
those separately once they've had a chance to sit in -next.
Summary in the tag.
Cheers,
Will
[1] https://lore.kernel.org/r/20250919-unredlich-lohnkampf-d3d0836baeec@brauner
--->8
The following changes since commit a7ed7b9d0ebb038db9963d574da0311cab0b666a:
arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module with CONFIG_DYNAMIC_FTRACE (2025-09-05 16:56:20 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git tags/arm64-upstream
for you to fetch changes up to ea0b39168d3a2313eabd145fb3440c946ccff4d1:
arm64: cpufeature: Remove duplicate asm/mmu.h header (2025-09-24 16:44:44 +0100)
----------------------------------------------------------------
arm64 updates for 6.18
Confidential computing:
- Add support for accepting secrets from firmware (e.g. ACPI CCEL)
and mapping them with appropriate attributes.
CPU features:
- Advertise atomic floating-point instructions to userspace.
- Extend Spectre workarounds to cover additional Arm CPU variants.
- Extend list of CPUs that support break-before-make level 2 and
guarantee not to generate TLB conflict aborts for changes of mapping
granularity (BBML2_NOABORT).
- Add GCS support to our uprobes implementation.
Documentation:
- Remove bogus SME documentation concerning register state when
entering/exiting streaming mode.
Entry code:
- Switch over to the generic IRQ entry code (GENERIC_IRQ_ENTRY).
- Micro-optimise syscall entry path with a compiler branch hint.
Memory management:
- Enable huge mappings in vmalloc space even when kernel page-table
dumping is enabled.
- Tidy up the types used in our early MMU setup code.
- Rework rodata= for closer parity with the behaviour on x86.
- For CPUs implementing BBML2_NOABORT, utilise block mappings in the
linear map even when rodata= applies to virtual aliases.
- Don't re-allocate the virtual region between '_text' and '_stext',
as doing so confused tools parsing /proc/vmcore.
Miscellaneous:
- Clean-up Kconfig menuconfig text for architecture features.
- Avoid redundant bitmap_empty() during determination of supported
SME vector lengths.
- Re-enable warnings when building the 32-bit vDSO object.
- Avoid breaking our eggs at the wrong end.
Perf and PMUs:
- Support for v3 of the Hisilicon L3C PMU.
- Support for Hisilicon's MN and NoC PMUs.
- Support for Fujitsu's Uncore PMU.
- Support for SPE's extended event filtering feature.
- Preparatory work to enable data source filtering in SPE.
- Support for multiple lanes in the DWC PCIe PMU.
- Support for i.MX94 in the IMX DDR PMU driver.
- MAINTAINERS update (Thank you, Yicong).
- Minor driver fixes (PERF_IDX2OFF() overflow, CMN register offsets).
Selftests:
- Add basic LSFE check to the existing hwcaps test.
- Support nolibc in GCS tests.
- Extend SVE ptrace test to pass unsupported regsets and invalid vector
lengths.
- Minor cleanups (typos, cosmetic changes).
System registers:
- Fix ID_PFR1_EL1 definition.
- Fix incorrect signedness of some fields in ID_AA64MMFR4_EL1.
- Sync TCR_EL1 definition with the latest Arm ARM (L.b).
- Be stricter about the input fed into our AWK sysreg generator script.
- Typo fixes and removal of redundant definitions.
ACPI, EFI and PSCI:
- Decouple Arm's "Software Delegated Exception Interface" (SDEI)
support from the ACPI GHES code so that it can be used by platforms
booted with device-tree.
- Remove unnecessary per-CPU tracking of the FPSIMD state across EFI
runtime calls.
- Fix a node refcount imbalance in the PSCI device-tree code.
CPU Features:
- Ensure register sanitisation is applied to fields in ID_AA64MMFR4.
- Expose AIDR_EL1 to userspace via sysfs, primarily so that KVM guests
can reliably query the underlying CPU types from the VMM.
- Re-enabling of SME support (CONFIG_ARM64_SME) as a result of fixes
to our context-switching, signal handling and ptrace code.
----------------------------------------------------------------
Anshuman Khandual (1):
arm64/sysreg: Update TCR_EL1 register
Bala-Vignesh-Reddy (2):
selftests: arm64: Check fread return value in exec_target
selftests: arm64: Fix -Waddress warning in tpidr2 test
Can Peng (1):
arm/syscalls: mark syscall invocation as likely in invoke_syscall
Dev Jain (2):
arm64: Enable permission change on arm64 kernel block mappings
arm64: Enable vmalloc-huge with ptdump
Fuad Tabba (3):
arm64: sysreg: Fix and tidy up sysreg field definitions
arm64: sysreg: Correct sign definitions for EIESB and DoubleLock
arm64: sysreg: Add validation checks to sysreg header generation script
Huang Shijie (2):
arm64: mm: Rework the 'rodata=' options
arm64/Kconfig: Remove CONFIG_RODATA_FULL_DEFAULT_ENABLED
Ilkka Koskinen (2):
perf/dwc_pcie: Support counting multiple lane events in parallel
perf/dwc_pcie: Fix use of uninitialized variable
James Clark (5):
arm64: sysreg: Add new PMSFCR_EL1 fields and PMSDSFR_EL1 register
perf: arm_spe: Support FEAT_SPEv1p4 filters
perf: arm_spe: Add support for FEAT_SPE_EFT extended filtering
arm64/boot: Factor out a macro to check SPE version
arm64/boot: Enable EL2 requirements for SPE_FEAT_FDS
Jeremy Linton (8):
arm64: probes: Break ret out from bl/blr
arm64: uaccess: Move existing GCS accessors definitions to gcs.h
arm64: uaccess: Add additional userspace GCS accessors
arm64: probes: Add GCS support to bl/blr/ret
arm64: uprobes: Add GCS support to uretprobes
arm64: Kconfig: Remove GCS restrictions on UPROBES
uprobes: uprobe_warn should use passed task
arm64: probes: Fix incorrect bl/blr address and register usage
Jiapeng Chong (1):
arm64: cpufeature: Remove duplicate asm/mmu.h header
Jinjie Ruan (8):
arm64: ptrace: Replace interrupts_enabled() with regs_irqs_disabled()
arm64: entry: Refactor the entry and exit for exceptions from EL1
arm64: entry: Rework arm64_preempt_schedule_irq()
arm64: entry: Use preempt_count() and need_resched() helper
entry: Add arch_irqentry_exit_need_resched() for arm64
arm64: entry: Refactor preempt_schedule_irq() check code
arm64: entry: Move arm64_preempt_schedule_irq() into __exit_to_kernel_mode()
arm64: entry: Switch to generic IRQ entry
Junhao He (1):
drivers/perf: hisi: Add support for HiSilicon MN PMU driver
Koichi Okuno (1):
perf: Fujitsu: Add the Uncore PMU driver
Kuninori Morimoto (2):
arm64: cputype: Add Cortex-A720AE definitions
arm64: errata: Expand speculative SSBS workaround for Cortex-A720AE
Leo Yan (3):
perf: arm_spe: Expose event filter
coresight: trbe: Prevent overflow in PERF_IDX2OFF()
perf: arm_spe: Prevent overflow in PERF_IDX2OFF()
Mark Brown (6):
arm64/sme: Drop inaccurate documentation of streaming mode switches
kselftest/arm64: Log error codes in sve-ptrace
arm64/hwcap: Add hwcap for FEAT_LSFE
kselftest/arm64: Verify that we reject out of bounds VLs in sve-ptrace
kselftest/arm64: Check that unsupported regsets fail in sve-ptrace
kselftest/arm64: Add lsfe to the hwcaps test
Mark Rutland (3):
arm64: cputype: Remove duplicate Cortex-X1C definitions
arm64: cputype: Add Neoverse-V3AE definitions
arm64: errata: Apply workarounds for Neoverse-V3AE
Nikola Z. Ivanov (1):
selftests/arm64: Fix grammatical error in string literals
Omar Sandoval (1):
arm64: map [_text, _stext) virtual address range non-executable+read-only
Robin Murphy (1):
perf/arm-cmn: Fix CMN S3 DTM offset
Ryan Roberts (2):
arm64: mm: split linear mapping if BBML2 unsupported on secondary CPUs
arm64: cpufeature: add Neoverse-V3AE to BBML2 allow list
Sam Edwards (3):
arm64: mm: Cast start/end markers to char *, not u64
arm64: mm: Make map_fdt() return mapped pointer
arm64: mm: Represent physical memory with phys_addr_t and resource_size_t
Shanker Donthineni (2):
arm64: cputype: Add NVIDIA Olympus definitions
arm64: cpufeature: Add Olympus MIDR to BBML2 allow list
Suzuki K Poulose (3):
arm64: realm: ioremap: Allow mapping memory as encrypted
arm64: Enable EFI secret area Securityfs support
arm64: acpi: Enable ACPI CCEL support
Thomas Weißschuh (5):
kselftest/arm64/gcs: Correctly check return value when disabling GCS
kselftest/arm64/gcs: Use nolibc's getauxval()
arm64: vdso32: Stop suppressing warnings
arm64: vdso32: Respect -Werror from kbuild
kselftest/arm64/gcs/basic-gcs: Respect parent directory CFLAGS
Vivek Yadav (3):
kselftest/arm64: Remove extra blank line
kselftest/arm64: Supress warning and improve readability
kselftest/arm64: Add parentheses around sizeof for clarity
Will Deacon (14):
arm64: Kconfig: Spell out "ARMv9.4" in menuconfig text
arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN
Merge branch 'for-next/fixes' into for-next/core
Merge branch 'for-next/cca' into for-next/core
Merge branch 'for-next/cpufeature' into for-next/core
Merge branch 'for-next/docs' into for-next/core
Merge branch 'for-next/entry' into for-next/core
Merge branch 'for-next/misc' into for-next/core
Merge branch 'for-next/mm' into for-next/core
Merge branch 'for-next/perf' into for-next/core
Merge branch 'for-next/selftests' into for-next/core
Merge branch 'for-next/sysregs' into for-next/core
Merge branch 'for-next/uprobes' into for-next/core
Merge branch 'for-next/vdso' into for-next/core
Xichao Zhao (1):
drivers: perf: use us_to_ktime() where appropriate
Xu Yang (3):
dt-bindings: perf: fsl-imx-ddr: Add a compatible string fsl,imx94-ddr-pmu for i.MX94
perf: imx_perf: add support for i.MX94 platform
MAINTAINERS: include fsl_imx9_ddr_perf.c and some perf metric files
Yang Shi (2):
arm64: cpufeature: add AmpereOne to BBML2 allow list
arm64: mm: support large block mapping when rodata=full
Yicong Yang (10):
perf: arm_pmuv3: Factor out PMCCNTR_EL0 use conditions
drivers/perf: hisi: Add support for HiSilicon NoC PMU
MAINTAINERS: Remove myself from HiSilicon PMU maintainers
drivers/perf: hisi: Relax the event ID check in the framework
drivers/perf: hisi: Export hisi_uncore_pmu_isr()
drivers/perf: hisi: Simplify the probe process of each L3C PMU version
drivers/perf: hisi: Extract the event filter check of L3C PMU
drivers/perf: hisi: Extend the field of tt_core
drivers/perf: hisi: Refactor the event configuration of L3C PMU
drivers/perf: hisi: Add support for L3C PMU v3
Yury Norov (NVIDIA) (1):
arm64/fpsimd: simplify sme_setup()
Yushan Wang (2):
Documentation: hisi-pmu: Fix of minor format error
Documentation: hisi-pmu: Add introduction to HiSilicon V3 PMU
Documentation/admin-guide/kernel-parameters.txt | 5 +-
Documentation/admin-guide/perf/dwc_pcie_pmu.rst | 4 +-
.../admin-guide/perf/fujitsu_uncore_pmu.rst | 110 ++++
Documentation/admin-guide/perf/hisi-pmu.rst | 49 +-
Documentation/admin-guide/perf/index.rst | 1 +
Documentation/arch/arm64/booting.rst | 11 +
Documentation/arch/arm64/elf_hwcaps.rst | 4 +
Documentation/arch/arm64/silicon-errata.rst | 2 +
Documentation/arch/arm64/sme.rst | 14 +-
.../devicetree/bindings/perf/fsl-imx-ddr.yaml | 1 +
MAINTAINERS | 4 +-
arch/arm64/Kconfig | 23 +-
arch/arm64/include/asm/cpufeature.h | 2 +
arch/arm64/include/asm/cputype.h | 8 +-
arch/arm64/include/asm/daifflags.h | 2 +-
arch/arm64/include/asm/el2_setup.h | 28 +-
arch/arm64/include/asm/entry-common.h | 57 ++
arch/arm64/include/asm/exception.h | 1 -
arch/arm64/include/asm/gcs.h | 91 ++-
arch/arm64/include/asm/hwcap.h | 1 +
arch/arm64/include/asm/io.h | 6 +-
arch/arm64/include/asm/mmu.h | 3 +
arch/arm64/include/asm/pgtable.h | 5 +
arch/arm64/include/asm/preempt.h | 2 -
arch/arm64/include/asm/ptdump.h | 2 +
arch/arm64/include/asm/ptrace.h | 13 +-
arch/arm64/include/asm/rsi.h | 2 +-
arch/arm64/include/asm/setup.h | 4 +-
arch/arm64/include/asm/sysreg.h | 11 -
arch/arm64/include/asm/uaccess.h | 40 --
arch/arm64/include/asm/vmalloc.h | 9 +-
arch/arm64/include/asm/xen/events.h | 2 +-
arch/arm64/include/uapi/asm/hwcap.h | 1 +
arch/arm64/kernel/acpi.c | 12 +-
arch/arm64/kernel/cpu_errata.c | 2 +
arch/arm64/kernel/cpufeature.c | 15 +-
arch/arm64/kernel/cpuinfo.c | 1 +
arch/arm64/kernel/debug-monitors.c | 2 +-
arch/arm64/kernel/entry-common.c | 423 +++++---------
arch/arm64/kernel/fpsimd.c | 5 +-
arch/arm64/kernel/pi/map_kernel.c | 47 +-
arch/arm64/kernel/pi/map_range.c | 20 +-
arch/arm64/kernel/pi/pi.h | 9 +-
arch/arm64/kernel/probes/decode-insn.c | 7 +-
arch/arm64/kernel/probes/simulate-insn.c | 50 +-
arch/arm64/kernel/probes/simulate-insn.h | 3 +-
arch/arm64/kernel/probes/uprobes.c | 33 ++
arch/arm64/kernel/proton-pack.c | 1 +
arch/arm64/kernel/rsi.c | 26 +-
arch/arm64/kernel/sdei.c | 2 +-
arch/arm64/kernel/setup.c | 4 +-
arch/arm64/kernel/signal.c | 3 +-
arch/arm64/kernel/syscall.c | 2 +-
arch/arm64/kernel/vdso32/Makefile | 13 +-
arch/arm64/mm/init.c | 8 +-
arch/arm64/mm/mmu.c | 494 ++++++++++++++++-
arch/arm64/mm/pageattr.c | 129 +++--
arch/arm64/mm/proc.S | 27 +-
arch/arm64/mm/ptdump.c | 11 +-
arch/arm64/tools/gen-sysreg.awk | 20 +
arch/arm64/tools/sysreg | 83 ++-
drivers/hwtracing/coresight/coresight-trbe.c | 3 +-
drivers/perf/Kconfig | 9 +
drivers/perf/Makefile | 1 +
drivers/perf/arm-ccn.c | 2 +-
drivers/perf/arm-cmn.c | 9 +-
drivers/perf/arm_pmuv3.c | 29 +-
drivers/perf/arm_spe_pmu.c | 114 +++-
drivers/perf/dwc_pcie_pmu.c | 161 ++++--
drivers/perf/fsl_imx9_ddr_perf.c | 6 +
drivers/perf/fujitsu_uncore_pmu.c | 613 +++++++++++++++++++++
drivers/perf/hisilicon/Makefile | 3 +-
drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c | 528 +++++++++++++++---
drivers/perf/hisilicon/hisi_uncore_mn_pmu.c | 411 ++++++++++++++
drivers/perf/hisilicon/hisi_uncore_noc_pmu.c | 443 +++++++++++++++
drivers/perf/hisilicon/hisi_uncore_pmu.c | 5 +-
drivers/perf/hisilicon/hisi_uncore_pmu.h | 6 +-
drivers/virt/coco/efi_secret/Kconfig | 2 +-
include/linux/pagewalk.h | 3 +
kernel/entry/common.c | 16 +-
kernel/events/uprobes.c | 2 +-
mm/pagewalk.c | 36 +-
tools/testing/selftests/arm64/abi/hwcap.c | 22 +-
tools/testing/selftests/arm64/abi/tpidr2.c | 8 +-
tools/testing/selftests/arm64/bti/assembler.h | 1 -
tools/testing/selftests/arm64/fp/fp-ptrace.c | 1 -
tools/testing/selftests/arm64/fp/fp-stress.c | 6 +-
tools/testing/selftests/arm64/fp/kernel-test.c | 4 +-
tools/testing/selftests/arm64/fp/sve-ptrace.c | 104 +++-
tools/testing/selftests/arm64/fp/vec-syscfg.c | 1 -
tools/testing/selftests/arm64/fp/zt-ptrace.c | 1 -
tools/testing/selftests/arm64/gcs/Makefile | 6 +-
tools/testing/selftests/arm64/gcs/basic-gcs.c | 12 +-
tools/testing/selftests/arm64/gcs/gcs-locking.c | 1 -
tools/testing/selftests/arm64/gcs/gcs-stress.c | 2 +-
tools/testing/selftests/arm64/pauth/exec_target.c | 7 +-
96 files changed, 3781 insertions(+), 767 deletions(-)
create mode 100644 Documentation/admin-guide/perf/fujitsu_uncore_pmu.rst
create mode 100644 arch/arm64/include/asm/entry-common.h
create mode 100644 drivers/perf/fujitsu_uncore_pmu.c
create mode 100644 drivers/perf/hisilicon/hisi_uncore_mn_pmu.c
create mode 100644 drivers/perf/hisilicon/hisi_uncore_noc_pmu.c
Powered by blists - more mailing lists