Merge branches 'for-next/doc', 'for-next/sve', 'for-next/sysreg', 'for-next/gettimeof...
authorCatalin Marinas <catalin.marinas@arm.com>
Fri, 30 Sep 2022 08:17:57 +0000 (09:17 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 30 Sep 2022 08:17:57 +0000 (09:17 +0100)
* arm64/for-next/perf:
  arm64: asm/perf_regs.h: Avoid C++-style comment in UAPI header
  arm64/sve: Add Perf extensions documentation
  perf: arm64: Add SVE vector granule register to user regs
  MAINTAINERS: add maintainers for Alibaba' T-Head PMU driver
  drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC
  docs: perf: Add description for Alibaba's T-Head PMU driver

* for-next/doc:
  : Documentation/arm64 updates
  arm64/sve: Document our actual ABI for clearing registers on syscall

* for-next/sve:
  : SVE updates
  arm64/sysreg: Add hwcap for SVE EBF16

* for-next/sysreg: (35 commits)
  : arm64 system registers generation (more conversions)
  arm64/sysreg: Fix a few missed conversions
  arm64/sysreg: Convert ID_AA64AFRn_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64DFR1_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64FDR0_EL1 to automatic generation
  arm64/sysreg: Use feature numbering for PMU and SPE revisions
  arm64/sysreg: Add _EL1 into ID_AA64DFR0_EL1 definition names
  arm64/sysreg: Align field names in ID_AA64DFR0_EL1 with architecture
  arm64/sysreg: Add defintion for ALLINT
  arm64/sysreg: Convert SCXTNUM_EL1 to automatic generation
  arm64/sysreg: Convert TIPDR_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64PFR1_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64PFR0_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64MMFR2_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64MMFR1_EL1 to automatic generation
  arm64/sysreg: Convert ID_AA64MMFR0_EL1 to automatic generation
  arm64/sysreg: Convert HCRX_EL2 to automatic generation
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 SME enumeration
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 BTI enumeration
  arm64/sysreg: Standardise naming of ID_AA64PFR1_EL1 fractional version fields
  arm64/sysreg: Standardise naming for MTE feature enumeration
  ...

* for-next/gettimeofday:
  : Use self-synchronising counter access in gettimeofday() (if FEAT_ECV)
  arm64: vdso: use SYS_CNTVCTSS_EL0 for gettimeofday
  arm64: alternative: patch alternatives in the vDSO
  arm64: module: move find_section to header

* for-next/stacktrace:
  : arm64 stacktrace cleanups and improvements
  arm64: stacktrace: track hyp stacks in unwinder's address space
  arm64: stacktrace: track all stack boundaries explicitly
  arm64: stacktrace: remove stack type from fp translator
  arm64: stacktrace: rework stack boundary discovery
  arm64: stacktrace: add stackinfo_on_stack() helper
  arm64: stacktrace: move SDEI stack helpers to stacktrace code
  arm64: stacktrace: rename unwind_next_common() -> unwind_next_frame_record()
  arm64: stacktrace: simplify unwind_next_common()
  arm64: stacktrace: fix kerneldoc comments

* for-next/atomics:
  : arm64 atomics improvements
  arm64: atomic: always inline the assembly
  arm64: atomics: remove LL/SC trampolines

* for-next/el1-exceptions:
  : Improve the reporting of EL1 exceptions
  arm64: rework BTI exception handling
  arm64: rework FPAC exception handling
  arm64: consistently pass ESR_ELx to die()
  arm64: die(): pass 'err' as long
  arm64: report EL1 UNDEFs better

* for-next/a510-erratum-2658417:
  : Cortex-A510: 2658417: remove BF16 support due to incorrect result
  arm64: errata: remove BF16 HWCAP due to incorrect result on Cortex-A510
  arm64: cpufeature: Expose get_arm64_ftr_reg() outside cpufeature.c
  arm64: cpufeature: Force HWCAP to be based on the sysreg visible to user-space

* for-next/defconfig:
  : arm64 defconfig updates
  arm64: defconfig: Add Coresight as module
  arm64: Enable docker support in defconfig
  arm64: defconfig: Enable memory hotplug and hotremove config
  arm64: configs: Enable all PMUs provided by Arm

* for-next/tpidr2_el0:
  : arm64 ptrace() support for TPIDR2_EL0
  kselftest/arm64: Add coverage of TPIDR2_EL0 ptrace interface
  arm64/ptrace: Support access to TPIDR2_EL0
  arm64/ptrace: Document extension of NT_ARM_TLS to cover TPIDR2_EL0
  kselftest/arm64: Add test coverage for NT_ARM_TLS

* for-next/ftrace:
  : arm64 ftraces updates/fixes
  arm64: ftrace: fix module PLTs with mcount
  arm64: module: Remove unused plt_entry_is_initialized()
  arm64: module: Make plt_equals_entry() static

1  2  3  4  5  6  7  8  9  10  11  12 
Documentation/arm64/sve.rst
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/module.h
arch/arm64/kernel/cpufeature.c
arch/arm64/kernel/ptrace.c

Simple merge
Simple merge
index 4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,22f1be47cc923bdbd43fd12e1f2a6f893b11a6c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,4e7fa2623896b008afb775c2cd4d41f7a72491c5,8096d30c5e395a013b64f0e023aaf1d6829f4031..18734fed3bdd7609bf02b6ebbffc338e80591206
@@@@@@@@@@@@@ -58,11 -58,11 -58,11 -58,11 -58,26 -58,11 -58,11 -58,11 -58,11 -58,11 -58,11 -58,5 +58,20 @@@@@@@@@@@@@ static inline bool is_forbidden_offset_
            }
            
            struct plt_entry get_plt_entry(u64 dst, void *pc);
----------- bool plt_entries_equal(const struct plt_entry *a, const struct plt_entry *b);
    -       
    -       static inline bool plt_entry_is_initialized(const struct plt_entry *e)
    -       {
    -           return e->adrp || e->add || e->br;
    -       }
            
---- ------ static inline bool plt_entry_is_initialized(const struct plt_entry *e)
++++ +++++++static inline const Elf_Shdr *find_section(const Elf_Ehdr *hdr,
++++ +++++++                                const Elf_Shdr *sechdrs,
++++ +++++++                                const char *name)
           +{
---- ------     return e->adrp || e->add || e->br;
++++ +++++++    const Elf_Shdr *s, *se;
++++ +++++++    const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset;
++++ +++++++
++++ +++++++    for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) {
++++ +++++++            if (strcmp(name, secstrs + s->sh_name) == 0)
++++ +++++++                    return s;
++++ +++++++    }
++++ +++++++
++++ +++++++    return NULL;
           +}
           +
            #endif /* __ASM_MODULE_H */
Simple merge
Simple merge