• Linus Torvalds's avatar
    Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 8bf1a529
    Linus Torvalds authored
    Pull arm64 updates from Catalin Marinas:
    
     - Support for arm64 SME 2 and 2.1. SME2 introduces a new 512-bit
       architectural register (ZT0, for the look-up table feature) that
       Linux needs to save/restore
    
     - Include TPIDR2 in the signal context and add the corresponding
       kselftests
    
     - Perf updates: Arm SPEv1.2 support, HiSilicon uncore PMU updates, ACPI
       support to the Marvell DDR and TAD PMU drivers, reset DTM_PMU_CONFIG
       (ARM CMN) at probe time
    
     - Support for DYNAMIC_FTRACE_WITH_CALL_OPS on arm64
    
     - Permit EFI boot with MMU and caches on. Instead of cleaning the
       entire loaded kernel image to the PoC and disabling the MMU and
       caches before branching to the kernel bare metal entry point, leave
       the MMU and caches enabled and rely on EFI's cacheable 1:1 mapping of
       all of system RAM to populate the initial page tables
    
     - Expose the AArch32 (compat) ELF_HWCAP features to user in an arm64
       kernel (the arm32 kernel only defines the values)
    
     - Harden the arm64 shadow call stack pointer handling: stash the shadow
       stack pointer in the task struct on interrupt, load it directly from
       this structure
    
     - Signal handling cleanups to remove redundant validation of size
       information and avoid reading the same data from userspace twice
    
     - Refactor the hwcap macros to make use of the automatically generated
       ID registers. It should make new hwcaps writing less error prone
    
     - Further arm64 sysreg conversion and some fixes
    
     - arm64 kselftest fixes and improvements
    
     - Pointer authentication cleanups: don't sign leaf functions, unify
       asm-arch manipulation
    
     - Pseudo-NMI code generation optimisations
    
     - Minor fixes for SME and TPIDR2 handling
    
     - Miscellaneous updates: ARCH_FORCE_MAX_ORDER is now selectable,
       replace strtobool() to kstrtobool() in the cpufeature.c code, apply
       dynamic shadow call stack in two passes, intercept pfn changes in
       set_pte_at() without the required break-before-make sequence, attempt
       to dump all instructions on unhandled kernel faults
    
    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (130 commits)
      arm64: fix .idmap.text assertion for large kernels
      kselftest/arm64: Don't require FA64 for streaming SVE+ZA tests
      kselftest/arm64: Copy whole EXTRA context
      arm64: kprobes: Drop ID map text from kprobes blacklist
      perf: arm_spe: Print the version of SPE detected
      perf: arm_spe: Add support for SPEv1.2 inverted event filtering
      perf: Add perf_event_attr::config3
      arm64/sme: Fix __finalise_el2 SMEver check
      drivers/perf: fsl_imx8_ddr_perf: Remove set-but-not-used variable
      arm64/signal: Only read new data when parsing the ZT context
      arm64/signal: Only read new data when parsing the ZA context
      arm64/signal: Only read new data when parsing the SVE context
      arm64/signal: Avoid rereading context frame sizes
      arm64/signal: Make interface for restore_fpsimd_context() consistent
      arm64/signal: Remove redundant size validation from parse_user_sigframe()
      arm64/signal: Don't redundantly verify FPSIMD magic
      arm64/cpufeature: Use helper macros to specify hwcaps
      arm64/cpufeature: Always use symbolic name for feature value in hwcaps
      arm64/sysreg: Initial unsigned annotations for ID registers
      arm64/sysreg: Initial annotation of signed ID registers
      ...
    8bf1a529
ptrace.c 54.2 KB