From patchwork Wed Mar 13 16:00:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Catalin Marinas X-Patchwork-Id: 13591559 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 87948C54791 for ; Wed, 13 Mar 2024 16:00:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=upnhMVqfk4Px9GLyX28bIxpLBmw8SsnbLTCWPfBcqwk=; b=F9fkf362/Keiwr iK5+P+pkLwY2k/xUJXOE4aafBAZqC2kfrE45ubEGSkaVXpJCFtY8cl52wcbL9c6kDAZ9N7yfnkZLL pUp3picXj6EpycA3ogYjM9L6SJzYlbyiiCZDR1xS+1fLYl0ipJnTvDDxspv4JTtsy+Vcx78h/9Pzz Bz3tHlXPIORUZTGglAPz3XGy6uurEX6bsAKedywQkg2/jSdpplHc2zCNnctMDrVSKb8Q7OXg1e13/ SoACNStxhMfsAGG8Lrooa+NsG7GgufipKK4514fgChHyiML+yDqLyQlrjnketD4puwsROV7l5eDOF MJLMkO7zd4h168G73EIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkR1o-0000000Ah15-2hTC; Wed, 13 Mar 2024 16:00:28 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkR1j-0000000Agz9-3Lre for linux-arm-kernel@lists.infradead.org; Wed, 13 Mar 2024 16:00:26 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 07C0CCE1B40; Wed, 13 Mar 2024 16:00:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9262EC43390; Wed, 13 Mar 2024 16:00:20 +0000 (UTC) From: Catalin Marinas To: Linus Torvalds Cc: Will Deacon , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] arm64 updates Date: Wed, 13 Mar 2024 16:00:18 +0000 Message-Id: <20240313160018.2603344-1-catalin.marinas@arm.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_090024_235299_ED718E44 X-CRM114-Status: GOOD ( 25.27 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Linus, Please pull the arm64 updates below for 6.9-rc1. The major features are support for LPA2 (52-bit VA/PA with 4K and 16K pages), the dpISA extension and Rust enabled on arm64. The changes are mostly contained within the usual arch/arm64/, drivers/perf, the arm64 Documentation and kselftests. The exception is the Rust support which touches some generic build files. There are two last-minute reverts: enabling CPUMASK_OFFSTACK on arm64 seems to have caused some issue with the cpufreq/opp drivers (still debugging); the other is SCTLR_EL1.WXN hardening on arm64, the feature is no longer applicable with permissions indirection, so the approach needs revisiting. So far there's a single conflict with your tree in rust/Makefile: ------------------------8<----------------------------- +++ b/rust/Makefile @@@ -434,8 -435,11 +435,11 @@@ $(obj)/core.o: private skip_clippy = $(obj)/core.o: private skip_flags = -Dunreachable_pub $(obj)/core.o: private rustc_objcopy = $(foreach sym,$(redirect-intrinsics),--redefine-sym $(sym)=__rust$(sym)) $(obj)/core.o: private rustc_target_flags = $(core-cfgs) - $(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs scripts/target.json FORCE + $(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs FORCE - $(call if_changed_dep,rustc_library) + +$(call if_changed_dep,rustc_library) + ifneq ($(or $(CONFIG_X86_64),$(CONFIG_LOONGARCH)),) + $(obj)/core.o: scripts/target.json + endif $(obj)/compiler_builtins.o: private rustc_objcopy = -w -W '__*' $(obj)/compiler_builtins.o: $(src)/compiler_builtins.rs $(obj)/core.o FORCE ------------------------8<----------------------------- I'll expect one or two more conflicts with the KVM tree when that gets pulled in but the resolutions in -next are correct. Thanks. The following changes since commit 54be6c6c5ae8e0d93a6c4641cb7528eb0b6ba478: Linux 6.8-rc3 (2024-02-04 12:20:36 +0000) 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 1ef21fcd6a50f011680dbbd678c1bea8e3f67ab9: Revert "mm: add arch hook to validate mmap() prot flags" (2024-03-13 10:59:38 +0000) ---------------------------------------------------------------- arm64 updates for 6.9: * Reorganise the arm64 kernel VA space and add support for LPA2 (at stage 1, KVM stage 2 was merged earlier) - 52-bit VA/PA address range with 4KB and 16KB pages * Enable Rust on arm64 * Support for the 2023 dpISA extensions (data processing ISA), host only * arm64 perf updates: - StarFive's StarLink (integrates one or more CPU cores with a shared L3 memory system) PMU support - Enable HiSilicon Erratum 162700402 quirk for HIP09 - Several updates for the HiSilicon PCIe PMU driver - Arm CoreSight PMU support - Convert all drivers under drivers/perf/ to use .remove_new() * Miscellaneous: - Don't enable workarounds for "rare" errata by default - Clean up the DAIF flags handling for EL0 returns (in preparation for NMI support) - Kselftest update for ptrace() - Update some of the sysreg field definitions - Slight improvement in the code generation for inline asm I/O accessors to permit offset addressing - kretprobes: acquire regs via a BRK exception (previously done via a trampoline handler) - SVE/SME cleanups, comment updates - Allow CALL_OPS+CC_OPTIMIZE_FOR_SIZE with clang (previously disabled due to gcc silently ignoring -falign-functions=N) ---------------------------------------------------------------- Anshuman Khandual (4): arm64/sysreg: Add register fields for ID_AA64DFR1_EL1 arm64/sysreg: Update ID_DFR0_EL1 register fields arm64/sysreg: Update ID_AA64DFR0_EL1 register arm64/hw_breakpoint: Directly use ESR_ELx_WNR for an watchpoint exception Ard Biesheuvel (53): arm64: mm: Move PCI I/O emulation region above the vmemmap region arm64: mm: Move fixmap region above vmemmap region arm64: ptdump: Allow all region boundaries to be defined at boot time arm64: ptdump: Discover start of vmemmap region at runtime arm64: vmemmap: Avoid base2 order of struct page size to dimension region arm64: mm: Reclaim unused vmemmap region for vmalloc use arm64: kaslr: Adjust randomization range dynamically arm64: kernel: Manage absolute relocations in code built under pi/ arm64: kernel: Don't rely on objcopy to make code under pi/ __init arm64: head: move relocation handling to C code arm64: idreg-override: Move to early mini C runtime arm64: kernel: Remove early fdt remap code arm64: head: Clear BSS and the kernel page tables in one go arm64: Move feature overrides into the BSS section arm64: head: Run feature override detection before mapping the kernel arm64: head: move dynamic shadow call stack patching into early C runtime arm64: cpufeature: Add helper to test for CPU feature overrides arm64: kaslr: Use feature override instead of parsing the cmdline again arm64: idreg-override: Create a pseudo feature for rodata=off arm64: Add helpers to probe local CPU for PAC and BTI support arm64: head: allocate more pages for the kernel mapping arm64: head: move memstart_offset_seed handling to C code arm64: mm: Make kaslr_requires_kpti() a static inline arm64: mmu: Make __cpu_replace_ttbr1() out of line arm64: head: Move early kernel mapping routines into C code arm64: mm: Use 48-bit virtual addressing for the permanent ID map arm64: pgtable: Decouple PGDIR size macros from PGD/PUD/PMD levels arm64: kernel: Create initial ID map from C code arm64: mm: avoid fixmap for early swapper_pg_dir updates arm64: mm: omit redundant remap of kernel image arm64: Revert "mm: provide idmap pointer to cpu_replace_ttbr1()" arm64: mm: Handle LVA support as a CPU feature arm64: mm: Add feature override support for LVA arm64: Avoid #define'ing PTE_MAYBE_NG to 0x0 for asm use arm64: Add ESR decoding for exceptions involving translation level -1 arm64: mm: Wire up TCR.DS bit to PTE shareability fields arm64: mm: Add LPA2 support to phys<->pte conversion routines arm64: mm: Add definitions to support 5 levels of paging arm64: mm: add LPA2 and 5 level paging support to G-to-nG conversion arm64: Enable LPA2 at boot if supported by the system arm64: mm: Add 5 level paging support to fixmap and swapper handling arm64: kasan: Reduce minimum shadow alignment and enable 5 level paging arm64: mm: Add support for folding PUDs at runtime arm64: ptdump: Disregard unaddressable VA space arm64: ptdump: Deal with translation levels folded at runtime arm64: kvm: avoid CONFIG_PGTABLE_LEVELS for runtime levels arm64: Enable 52-bit virtual addressing for 4k and 16k granule configs arm64: defconfig: Enable LPA2 support mm: add arch hook to validate mmap() prot flags arm64: mm: add support for WXN memory translation attribute arm64: mm: Make PUD folding check in set_pud() a runtime check arm64/mm: Use generic __pud_free() helper in pud_free() implementation arm64/mm: Avoid ID mapping of kpti flag if it is no longer needed Bartosz Golaszewski (1): arm64: gitignore: ignore relacheck Catalin Marinas (5): Merge branches 'for-next/reorg-va-space', 'for-next/rust-for-arm64', 'for-next/misc', 'for-next/daif-cleanup', 'for-next/kselftest', 'for-next/documentation', 'for-next/sysreg' and 'for-next/dpisa', remote-tracking branch 'arm64/for-next/perf' into for-next/core Merge branch 'for-next/stage1-lpa2' into for-next/core Revert "ARM64: Dynamically allocate cpumasks and increase supported CPUs to 512" Revert "arm64: mm: add support for WXN memory translation attribute" Revert "mm: add arch hook to validate mmap() prot flags" Christoph Lameter (Ampere) (1): ARM64: Dynamically allocate cpumasks and increase supported CPUs to 512 Dawei Li (1): arm64: remove unneeded BUILD_BUG_ON assertion Jamie Cunliffe (2): rust: Refactor the build target to allow the use of builtin targets arm64: rust: Enable Rust support for AArch64 Ji Sheng Teoh (4): perf: starfive: Add StarLink PMU support dt-bindings: perf: starfive: Add JH8100 StarLink PMU docs: perf: Add description for StarFive's StarLink PMU MAINTAINERS: Add entry for StarFive StarLink PMU Jinjie Ruan (1): arm64: Remove enable_daif macro Junhao He (5): drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09 drivers/perf: hisi_pcie: Check the target filter properly drivers/perf: hisi_pcie: Relax the check on related events drivers/perf: hisi_pcie: Merge find_related_event() and get_event_idx() docs: perf: Update usage for target filter of hisi-pcie-pmu Kemeng Shi (1): arm64: make member of struct pt_regs and it's offset macro in the same order Leonardo Bras (1): arm64: remove unnecessary ifdefs around is_compat_task() Liao Chang (1): arm64: cpufeatures: Clean up temporary variable to simplify code Marc Zyngier (1): arm64: Use Signed/Unsigned enums for TGRAN{4,16,64} and VARange Mark Brown (17): kselftest/arm64: Test that ptrace takes effect in the target process arm64/sve: Remove bitrotted comment about syscall behaviour arm64/sme: Fix cut'n'paste in ABI document arm64/fp: Clarify effect of setting an unsupported system VL arm64/sme: Remove spurious 'is' in SME documentation arm64/sve: Document that __SVE_VQ_MAX is much larger than needed arm64/sve: Ensure that all fields in ZCR_EL1 are set to known values arm64/sme: Ensure that all fields in SMCR_EL1 are set to known values arm64/cpufeature: Hook new identification registers up to cpufeature arm64/fpsimd: Enable host kernel access to FPMR arm64/fpsimd: Support FEAT_FPMR arm64/signal: Add FPMR signal handling arm64/ptrace: Expose FPMR via ptrace arm64/hwcap: Define hwcaps for 2023 DPISA features kselftest/arm64: Handle FPMR context in generic signal frame parser kselftest/arm64: Add basic FPMR test kselftest/arm64: Add 2023 DPISA hwcap test coverage Mark Rutland (5): arm64: io: permit offset addressing arm64: Simplify do_notify_resume() DAIF masking arm64: Move do_notify_resume() to entry-common.c arm64: Unmask Debug + SError in do_notify_resume() arm64: kretprobes: acquire the regs via a BRK exception Robin Murphy (6): perf/arm-cmn: Improve debugfs pretty-printing for large configs perf/arm_cspmu: Simplify initialisation perf/arm_cspmu: Simplify attribute groups perf/arm_cspmu: Simplify counter reset dt-bindings/perf: Add Arm CoreSight PMU perf/arm_cspmu: Add devicetree support Ryo Takakura (1): arm64: Update setup_arch() comment on interrupt masking Stephen Boyd (1): arm64: ftrace: Don't forbid CALL_OPS+CC_OPTIMIZE_FOR_SIZE with Clang Uwe Kleine-König (18): perf: alibaba_uncore_drw: Convert to platform remove callback returning void perf: amlogic: Convert to platform remove callback returning void perf: arm-cci: Convert to platform remove callback returning void perf: arm-ccn: Convert to platform remove callback returning void perf: arm-cmn: Convert to platform remove callback returning void perf: arm_cspmu: Convert to platform remove callback returning void perf: arm_dmc620: Convert to platform remove callback returning void perf: arm_dsu: Convert to platform remove callback returning void perf: arm_smmuv3: Convert to platform remove callback returning void perf: arm_spe: Convert to platform remove callback returning void perf: fsl_imx8_ddr: Convert to platform remove callback returning void perf: fsl_imx9_ddr: Convert to platform remove callback returning void perf: hisilicon: Convert to platform remove callback returning void perf: marvell_cn10k_ddr: Convert to platform remove callback returning void perf: marvell_cn10k_tad: Convert to platform remove callback returning void perf: qcom_l2: Convert to platform remove callback returning void perf: thunderx2: Convert to platform remove callback returning void perf: xgene: Convert to platform remove callback returning void Will Deacon (2): arm64: errata: Don't enable workarounds for "rare" errata by default perf: starfive: Only allow COMPILE_TEST for 64-bit architectures Yicong Yang (5): drivers/perf: hisi_pcie: Rename hisi_pcie_pmu_{config,clear}_filter() drivers/perf: hisi_pcie: Introduce hisi_pcie_pmu_get_event_ctrl_val() drivers/perf: hisi_pcie: Fix incorrect counting under metric mode drivers/perf: hisi_pcie: Add more events for counting TLP bandwidth docs: perf: Fix build warning of hisi-pcie-pmu.rst Documentation/admin-guide/perf/hisi-pcie-pmu.rst | 32 +- Documentation/admin-guide/perf/index.rst | 1 + .../admin-guide/perf/starfive_starlink_pmu.rst | 46 + Documentation/arch/arm64/elf_hwcaps.rst | 49 + Documentation/arch/arm64/silicon-errata.rst | 5 +- Documentation/arch/arm64/sme.rst | 11 +- Documentation/arch/arm64/sve.rst | 10 +- .../bindings/perf/arm,coresight-pmu.yaml | 39 + .../perf/starfive,jh8100-starlink-pmu.yaml | 46 + Documentation/rust/arch-support.rst | 1 + MAINTAINERS | 7 + Makefile | 1 - arch/arm64/Kconfig | 55 +- arch/arm64/Makefile | 4 + arch/arm64/configs/defconfig | 1 - arch/arm64/include/asm/archrandom.h | 2 - arch/arm64/include/asm/assembler.h | 59 +- arch/arm64/include/asm/brk-imm.h | 2 + arch/arm64/include/asm/cpu.h | 3 + arch/arm64/include/asm/cpufeature.h | 113 ++ arch/arm64/include/asm/elf.h | 10 +- arch/arm64/include/asm/esr.h | 13 +- arch/arm64/include/asm/exception.h | 2 +- arch/arm64/include/asm/fixmap.h | 2 +- arch/arm64/include/asm/fpsimd.h | 4 +- arch/arm64/include/asm/hw_breakpoint.h | 1 - arch/arm64/include/asm/hwcap.h | 15 + arch/arm64/include/asm/io.h | 12 +- arch/arm64/include/asm/kasan.h | 2 - arch/arm64/include/asm/kernel-pgtable.h | 103 +- arch/arm64/include/asm/kvm_arm.h | 2 +- arch/arm64/include/asm/kvm_emulate.h | 10 +- arch/arm64/include/asm/kvm_host.h | 1 + arch/arm64/include/asm/memory.h | 31 +- arch/arm64/include/asm/mmu.h | 40 +- arch/arm64/include/asm/mmu_context.h | 53 +- arch/arm64/include/asm/pgalloc.h | 52 +- arch/arm64/include/asm/pgtable-hwdef.h | 33 +- arch/arm64/include/asm/pgtable-prot.h | 20 +- arch/arm64/include/asm/pgtable-types.h | 6 + arch/arm64/include/asm/pgtable.h | 237 ++- arch/arm64/include/asm/processor.h | 4 + arch/arm64/include/asm/scs.h | 36 +- arch/arm64/include/asm/setup.h | 3 - arch/arm64/include/asm/tlb.h | 3 + arch/arm64/include/uapi/asm/hwcap.h | 15 + arch/arm64/include/uapi/asm/sigcontext.h | 8 + arch/arm64/include/uapi/asm/sve_context.h | 11 + arch/arm64/kernel/Makefile | 13 +- arch/arm64/kernel/asm-offsets.c | 2 +- arch/arm64/kernel/cpufeature.c | 182 ++- arch/arm64/kernel/cpuinfo.c | 18 + arch/arm64/kernel/entry-common.c | 36 +- arch/arm64/kernel/fpsimd.c | 18 + arch/arm64/kernel/head.S | 463 +----- arch/arm64/kernel/hw_breakpoint.c | 3 +- arch/arm64/kernel/image-vars.h | 35 + arch/arm64/kernel/kaslr.c | 4 +- arch/arm64/kernel/module.c | 2 +- arch/arm64/kernel/pi/.gitignore | 3 + arch/arm64/kernel/pi/Makefile | 27 +- arch/arm64/kernel/{ => pi}/idreg-override.c | 78 +- arch/arm64/kernel/pi/kaslr_early.c | 82 +- arch/arm64/kernel/pi/map_kernel.c | 253 ++++ arch/arm64/kernel/pi/map_range.c | 105 ++ arch/arm64/kernel/{ => pi}/patch-scs.c | 36 +- arch/arm64/kernel/pi/pi.h | 36 + arch/arm64/kernel/pi/relacheck.c | 130 ++ arch/arm64/kernel/pi/relocate.c | 64 + arch/arm64/kernel/probes/kprobes.c | 21 +- arch/arm64/kernel/probes/kprobes_trampoline.S | 78 +- arch/arm64/kernel/process.c | 3 - arch/arm64/kernel/ptrace.c | 50 +- arch/arm64/kernel/setup.c | 27 +- arch/arm64/kernel/signal.c | 98 +- arch/arm64/kernel/sleep.S | 3 - arch/arm64/kernel/syscall.c | 5 +- arch/arm64/kernel/vmlinux.lds.S | 17 +- arch/arm64/kvm/fpsimd.c | 1 + arch/arm64/kvm/mmu.c | 17 +- arch/arm64/mm/fault.c | 30 +- arch/arm64/mm/fixmap.c | 39 +- arch/arm64/mm/init.c | 2 +- arch/arm64/mm/kasan_init.c | 165 ++- arch/arm64/mm/mmap.c | 4 + arch/arm64/mm/mmu.c | 255 ++-- arch/arm64/mm/pgd.c | 17 +- arch/arm64/mm/proc.S | 116 +- arch/arm64/mm/ptdump.c | 77 +- arch/arm64/tools/cpucaps | 2 + arch/arm64/tools/sysreg | 43 +- arch/loongarch/Makefile | 1 + arch/x86/Makefile | 1 + drivers/perf/Kconfig | 9 + drivers/perf/Makefile | 1 + drivers/perf/alibaba_uncore_drw_pmu.c | 6 +- drivers/perf/amlogic/meson_g12_ddr_pmu.c | 6 +- drivers/perf/arm-cci.c | 8 +- drivers/perf/arm-ccn.c | 6 +- drivers/perf/arm-cmn.c | 14 +- drivers/perf/arm_cspmu/arm_cspmu.c | 159 ++- drivers/perf/arm_cspmu/arm_cspmu.h | 1 + drivers/perf/arm_cspmu/nvidia_cspmu.c | 6 - drivers/perf/arm_dmc620_pmu.c | 6 +- drivers/perf/arm_dsu_pmu.c | 6 +- drivers/perf/arm_smmuv3_pmu.c | 6 +- drivers/perf/arm_spe_pmu.c | 5 +- drivers/perf/fsl_imx8_ddr_perf.c | 5 +- drivers/perf/fsl_imx9_ddr_perf.c | 6 +- drivers/perf/hisilicon/hisi_pcie_pmu.c | 102 +- drivers/perf/hisilicon/hisi_uncore_cpa_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_ddrc_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_hha_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_l3c_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_pa_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_sllc_pmu.c | 5 +- drivers/perf/hisilicon/hisi_uncore_uc_pmu.c | 42 +- drivers/perf/marvell_cn10k_ddr_pmu.c | 5 +- drivers/perf/marvell_cn10k_tad_pmu.c | 6 +- drivers/perf/qcom_l2_pmu.c | 5 +- drivers/perf/starfive_starlink_pmu.c | 642 +++++++++ drivers/perf/thunderx2_pmu.c | 5 +- drivers/perf/xgene_pmu.c | 6 +- include/uapi/linux/elf.h | 1 + rust/Makefile | 6 +- scripts/Makefile | 4 +- scripts/generate_rust_target.rs | 4 +- tools/testing/selftests/arm64/abi/hwcap.c | 217 +++ tools/testing/selftests/arm64/fp/.gitignore | 1 + tools/testing/selftests/arm64/fp/Makefile | 5 +- tools/testing/selftests/arm64/fp/fp-ptrace-asm.S | 279 ++++ tools/testing/selftests/arm64/fp/fp-ptrace.c | 1503 ++++++++++++++++++++ tools/testing/selftests/arm64/fp/fp-ptrace.h | 13 + tools/testing/selftests/arm64/signal/.gitignore | 1 + .../arm64/signal/testcases/fpmr_siginfo.c | 82 ++ .../selftests/arm64/signal/testcases/testcases.c | 8 + .../selftests/arm64/signal/testcases/testcases.h | 1 + 137 files changed, 5513 insertions(+), 1583 deletions(-) create mode 100644 Documentation/admin-guide/perf/starfive_starlink_pmu.rst create mode 100644 Documentation/devicetree/bindings/perf/arm,coresight-pmu.yaml create mode 100644 Documentation/devicetree/bindings/perf/starfive,jh8100-starlink-pmu.yaml create mode 100644 arch/arm64/kernel/pi/.gitignore rename arch/arm64/kernel/{ => pi}/idreg-override.c (84%) create mode 100644 arch/arm64/kernel/pi/map_kernel.c create mode 100644 arch/arm64/kernel/pi/map_range.c rename arch/arm64/kernel/{ => pi}/patch-scs.c (89%) create mode 100644 arch/arm64/kernel/pi/pi.h create mode 100644 arch/arm64/kernel/pi/relacheck.c create mode 100644 arch/arm64/kernel/pi/relocate.c create mode 100644 drivers/perf/starfive_starlink_pmu.c create mode 100644 tools/testing/selftests/arm64/fp/fp-ptrace-asm.S create mode 100644 tools/testing/selftests/arm64/fp/fp-ptrace.c create mode 100644 tools/testing/selftests/arm64/fp/fp-ptrace.h create mode 100644 tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c diff --cc rust/Makefile index a78fcf4004b0,fe045dbc701e..1eaefc34f4b7 --- a/rust/Makefile