1. 20 May, 2022 8 commits
    • Catalin Marinas's avatar
      Merge branch 'for-next/sysreg-gen' into for-next/core · e003d533
      Catalin Marinas authored
      * for-next/sysreg-gen: (32 commits)
        : Automatic system register definition generation.
        arm64/sysreg: Generate definitions for FAR_ELx
        arm64/sysreg: Generate definitions for DACR32_EL2
        arm64/sysreg: Generate definitions for CSSELR_EL1
        arm64/sysreg: Generate definitions for CPACR_ELx
        arm64/sysreg: Generate definitions for CONTEXTIDR_ELx
        arm64/sysreg: Generate definitions for CLIDR_EL1
        arm64/sve: Generate ZCR definitions
        arm64/sme: Generate defintions for SVCR
        arm64/sme: Generate SMPRI_EL1 definitions
        arm64/sme: Automatically generate SMPRIMAP_EL2 definitions
        arm64/sme: Automatically generate SMIDR_EL1 defines
        arm64/sme: Automatically generate defines for SMCR
        arm64/sysreg: Support generation of RAZ fields
        arm64/sme: Remove _EL0 from name of SVCR - FIXME sysreg.h
        arm64/sme: Standardise bitfield names for SVCR
        arm64/sme: Drop SYS_ from SMIDR_EL1 defines
        arm64/fp: Rename SVE and SME LEN field name to _WIDTH
        arm64/fp: Make SVE and SME length register definition match architecture
        arm64/sysreg: fix odd line spacing
        arm64/sysreg: improve comment for regs without fields
        ...
      e003d533
    • Catalin Marinas's avatar
      Merge branches 'for-next/sme', 'for-next/stacktrace',... · 201729d5
      Catalin Marinas authored
      Merge branches 'for-next/sme', 'for-next/stacktrace', 'for-next/fault-in-subpage', 'for-next/misc', 'for-next/ftrace' and 'for-next/crashkernel', remote-tracking branch 'arm64/for-next/perf' into for-next/core
      
      * arm64/for-next/perf:
        perf/arm-cmn: Decode CAL devices properly in debugfs
        perf/arm-cmn: Fix filter_sel lookup
        perf/marvell_cn10k: Fix tad_pmu_event_init() to check pmu type first
        drivers/perf: hisi: Add Support for CPA PMU
        drivers/perf: hisi: Associate PMUs in SICL with CPUs online
        drivers/perf: arm_spe: Expose saturating counter to 16-bit
        perf/arm-cmn: Add CMN-700 support
        perf/arm-cmn: Refactor occupancy filter selector
        perf/arm-cmn: Add CMN-650 support
        dt-bindings: perf: arm-cmn: Add CMN-650 and CMN-700
        perf: check return value of armpmu_request_irq()
        perf: RISC-V: Remove non-kernel-doc ** comments
      
      * for-next/sme: (30 commits)
        : Scalable Matrix Extensions support.
        arm64/sve: Move sve_free() into SVE code section
        arm64/sve: Make kernel FPU protection RT friendly
        arm64/sve: Delay freeing memory in fpsimd_flush_thread()
        arm64/sme: More sensibly define the size for the ZA register set
        arm64/sme: Fix NULL check after kzalloc
        arm64/sme: Add ID_AA64SMFR0_EL1 to __read_sysreg_by_encoding()
        arm64/sme: Provide Kconfig for SME
        KVM: arm64: Handle SME host state when running guests
        KVM: arm64: Trap SME usage in guest
        KVM: arm64: Hide SME system registers from guests
        arm64/sme: Save and restore streaming mode over EFI runtime calls
        arm64/sme: Disable streaming mode and ZA when flushing CPU state
        arm64/sme: Add ptrace support for ZA
        arm64/sme: Implement ptrace support for streaming mode SVE registers
        arm64/sme: Implement ZA signal handling
        arm64/sme: Implement streaming SVE signal handling
        arm64/sme: Disable ZA and streaming mode when handling signals
        arm64/sme: Implement traps and syscall handling for SME
        arm64/sme: Implement ZA context switching
        arm64/sme: Implement streaming SVE context switching
        ...
      
      * for-next/stacktrace:
        : Stacktrace cleanups.
        arm64: stacktrace: align with common naming
        arm64: stacktrace: rename stackframe to unwind_state
        arm64: stacktrace: rename unwinder functions
        arm64: stacktrace: make struct stackframe private to stacktrace.c
        arm64: stacktrace: delete PCS comment
        arm64: stacktrace: remove NULL task check from unwind_frame()
      
      * for-next/fault-in-subpage:
        : btrfs search_ioctl() live-lock fix using fault_in_subpage_writeable().
        btrfs: Avoid live-lock in search_ioctl() on hardware with sub-page faults
        arm64: Add support for user sub-page fault probing
        mm: Add fault_in_subpage_writeable() to probe at sub-page granularity
      
      * for-next/misc:
        : Miscellaneous patches.
        arm64: Kconfig.platforms: Add comments
        arm64: Kconfig: Fix indentation and add comments
        arm64: mm: avoid writable executable mappings in kexec/hibernate code
        arm64: lds: move special code sections out of kernel exec segment
        arm64/hugetlb: Implement arm64 specific huge_ptep_get()
        arm64/hugetlb: Use ptep_get() to get the pte value of a huge page
        arm64: mm: Make arch_faults_on_old_pte() check for migratability
        arm64: mte: Clean up user tag accessors
        arm64/hugetlb: Drop TLB flush from get_clear_flush()
        arm64: Declare non global symbols as static
        arm64: mm: Cleanup useless parameters in zone_sizes_init()
        arm64: fix types in copy_highpage()
        arm64: Set ARCH_NR_GPIO to 2048 for ARCH_APPLE
        arm64: cputype: Avoid overflow using MIDR_IMPLEMENTOR_MASK
        arm64: document the boot requirements for MTE
        arm64/mm: Compute PTRS_PER_[PMD|PUD] independently of PTRS_PER_PTE
      
      * for-next/ftrace:
        : ftrace cleanups.
        arm64/ftrace: Make function graph use ftrace directly
        ftrace: cleanup ftrace_graph_caller enable and disable
      
      * for-next/crashkernel:
        : Support for crashkernel reservations above ZONE_DMA.
        arm64: kdump: Do not allocate crash low memory if not needed
        docs: kdump: Update the crashkernel description for arm64
        of: Support more than one crash kernel regions for kexec -s
        of: fdt: Add memory for devices by DT property "linux,usable-memory-range"
        arm64: kdump: Reimplement crashkernel=X
        arm64: Use insert_resource() to simplify code
        kdump: return -ENOENT if required cmdline option does not exist
      201729d5
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for FAR_ELx · dffdeade
      Mark Brown authored
      Convert FAR_ELx to automatic register generation as per DDI0487H.a. In the
      architecture these registers have a single field "named" as "Faulting
      Virtual Address for synchronous exceptions taken to ELx" occupying the
      entire register, in order to fit in with the requirement to describe the
      contents of the register I have created a single field named ADDR.
      
      No functional change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-7-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      dffdeade
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for DACR32_EL2 · 01baa57a
      Mark Brown authored
      Convert DACR32_EL2 to automatic register generation as per DDI0487H.a, no
      functional change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-6-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      01baa57a
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for CSSELR_EL1 · 8bd354b3
      Mark Brown authored
      Convert CSSELR_EL1 to automatic generation as per DDI0487H.a, no functional
      change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-5-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      8bd354b3
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for CPACR_ELx · b5c0f105
      Mark Brown authored
      Convert the CPACR system register definitions to be automatically generated
      using the definitions in DDI0487H.a. The kernel does have some additional
      definitions for subfields of SMEN, FPEN and ZEN which are not identified as
      distinct subfields in the architecture so the definitions are not updated
      as part of this patch.
      
      No functional change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-4-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      b5c0f105
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for CONTEXTIDR_ELx · 8c12e22c
      Mark Brown authored
      Convert the various CONTEXTIDR_ELx register definitions to be automatically
      generated following the definitions in DDI0487H.a. No functional change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-3-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      8c12e22c
    • Mark Brown's avatar
      arm64/sysreg: Generate definitions for CLIDR_EL1 · af65ea97
      Mark Brown authored
      Convert CLIDR_EL1 to be automatically generated with definition as per
      DDI0487H.a. No functional change.
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
      Link: https://lore.kernel.org/r/20220520161639.324236-2-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      af65ea97
  2. 18 May, 2022 3 commits
  3. 17 May, 2022 2 commits
  4. 16 May, 2022 20 commits
  5. 15 May, 2022 2 commits
    • Mark Rutland's avatar
      arm64/sysreg: fix odd line spacing · 5005d1db
      Mark Rutland authored
      Between the header and the definitions, there's no line gap, and in a
      couple of places a double line gap for no semantic reason, which makes
      the output look a little odd.
      
      Fix this so blocks are consistently separated with a single line gap:
      
      * Add a newline after the "Generated file" comment line, so this is
        clearly split from whatever the first definition in the file is.
      
      * At the start of a SysregFields block there's no need for a newline as
        we haven't output any sysreg encoding details prior to this.
      
      * At the end of a Sysreg block there's no need for a newline if we
        have no RES0 or RES1 fields, as there will be a line gap after the
        previous element (e.g. a Fields line).
      
      There should be no functional change as a result of this patch.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20220513174118.266966-3-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5005d1db
    • Mark Rutland's avatar
      arm64/sysreg: improve comment for regs without fields · 82bf5900
      Mark Rutland authored
      Currently for registers without fields we create a comment pointing at
      the common definitions, e.g.
      
      | #define REG_TTBR0_EL1                           S3_0_C2_C0_0
      | #define SYS_TTBR0_EL1                           sys_reg(3, 0, 2, 0, 0)
      | #define SYS_TTBR0_EL1_Op0                       3
      | #define SYS_TTBR0_EL1_Op1                       0
      | #define SYS_TTBR0_EL1_CRn                       2
      | #define SYS_TTBR0_EL1_CRm                       0
      | #define SYS_TTBR0_EL1_Op2                       0
      |
      | /* See TTBRx_EL1 */
      
      It would be slightly nicer if the comment said what we should be looking
      for, e.g.
      
      | #define REG_TTBR0_EL1                           S3_0_C2_C0_0
      | #define SYS_TTBR0_EL1                           sys_reg(3, 0, 2, 0, 0)
      | #define SYS_TTBR0_EL1_Op0                       3
      | #define SYS_TTBR0_EL1_Op1                       0
      | #define SYS_TTBR0_EL1_CRn                       2
      | #define SYS_TTBR0_EL1_CRm                       0
      | #define SYS_TTBR0_EL1_Op2                       0
      |
      | /* For TTBR0_EL1 fields see TTBRx_EL1 */
      
      Update the comment generation accordingly.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20220513174118.266966-2-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      82bf5900
  6. 12 May, 2022 1 commit
  7. 11 May, 2022 3 commits
  8. 10 May, 2022 1 commit