1. 19 Feb, 2021 3 commits
  2. 12 Feb, 2021 14 commits
    • Will Deacon's avatar
      Merge branch 'for-next/vdso' into for-next/core · 1ffa9763
      Will Deacon authored
      vDSO build improvements.
      
      * for-next/vdso:
        arm64: Support running gen_vdso_offsets.sh with BSD userland.
        arm64: do not descend to vdso directories twice
      1ffa9763
    • Will Deacon's avatar
      Merge branch 'for-next/topology' into for-next/core · dcabe10d
      Will Deacon authored
      Cleanup to the AMU support code and initialisation rework to support
      cpufreq drivers built as modules.
      
      * for-next/topology:
        arm64: topology: Make AMUs work with modular cpufreq drivers
        arm64: topology: Reorder init_amu_fie() a bit
        arm64: topology: Avoid the have_policy check
      dcabe10d
    • Will Deacon's avatar
      Merge branch 'for-next/stacktrace' into for-next/core · d23fa87c
      Will Deacon authored
      Remove synthetic frame record from exception stack when entering from
      userspace.
      
      * for-next/stacktrace:
        arm64: remove EL0 exception frame record
      d23fa87c
    • Will Deacon's avatar
      Merge branch 'for-next/selftests' into for-next/core · 82a1c2b9
      Will Deacon authored
      Trivial cleanup to one of the MTE selftests.
      
      * for-next/selftests:
        arm64: mte: style: Simplify bool comparison
      82a1c2b9
    • Will Deacon's avatar
      Merge branch 'for-next/rng' into for-next/core · 9dc8313c
      Will Deacon authored
      Add support for the TRNG firmware call introduced by Arm spec DEN0098.
      
      * for-next/rng:
        arm64: Add support for SMCCC TRNG entropy source
        firmware: smccc: Introduce SMCCC TRNG framework
        firmware: smccc: Add SMCCC TRNG function call IDs
      9dc8313c
    • Will Deacon's avatar
      Merge branch 'for-next/random' into for-next/core · cf6a85a8
      Will Deacon authored
      Avoid calling arch_get_random_seed_long() from add_interrupt_randomness()
      as this can result in a firmware call on some arm64 systems.
      
      * for-next/random:
        random: avoid arch_get_random_seed_long() when collecting IRQ randomness
      cf6a85a8
    • Will Deacon's avatar
      Merge branch 'for-next/perf' into for-next/core · c974a8e5
      Will Deacon authored
      Perf and PMU updates including support for Cortex-A78 and the v8.3 SPE
      extensions.
      
      * for-next/perf:
        drivers/perf: Replace spin_lock_irqsave to spin_lock
        dt-bindings: arm: add Cortex-A78 binding
        arm64: perf: add support for Cortex-A78
        arm64: perf: Constify static attribute_group structs
        drivers/perf: Prevent forced unbinding of ARM_DMC620_PMU drivers
        perf/arm-cmn: Move IRQs when migrating context
        perf/arm-cmn: Fix PMU instance naming
        perf: Constify static struct attribute_group
        perf: hisi: Constify static struct attribute_group
        perf/imx_ddr: Constify static struct attribute_group
        perf: qcom: Constify static struct attribute_group
        drivers/perf: Add support for ARMv8.3-SPE
      c974a8e5
    • Will Deacon's avatar
      Merge branch 'for-next/misc' into for-next/core · 1d32854e
      Will Deacon authored
      Miscellaneous arm64 changes for 5.12.
      
      * for-next/misc:
        arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+
        arm64: vmlinux.ld.S: add assertion for tramp_pg_dir offset
        arm64: vmlinux.ld.S: add assertion for reserved_pg_dir offset
        arm64/ptdump:display the Linear Mapping start marker
        arm64: ptrace: Fix missing return in hw breakpoint code
        KVM: arm64: Move __hyp_set_vectors out of .hyp.text
        arm64: Include linux/io.h in mm/mmap.c
        arm64: cacheflush: Remove stale comment
        arm64: mm: Remove unused header file
        arm64/sparsemem: reduce SECTION_SIZE_BITS
        arm64/mm: Add warning for outside range requests in vmemmap_populate()
        arm64: Drop workaround for broken 'S' constraint with GCC 4.9
      1d32854e
    • Will Deacon's avatar
      Merge branch 'for-next/kexec' into for-next/core · b374d0f9
      Will Deacon authored
      Significant steps along the road to leaving the MMU enabled during kexec
      relocation.
      
      * for-next/kexec:
        arm64: hibernate: add __force attribute to gfp_t casting
        arm64: kexec: arm64_relocate_new_kernel don't use x0 as temp
        arm64: kexec: arm64_relocate_new_kernel clean-ups and optimizations
        arm64: kexec: call kexec_image_info only once
        arm64: kexec: move relocation function setup
        arm64: trans_pgd: hibernate: idmap the single page that holds the copy page routines
        arm64: mm: Always update TCR_EL1 from __cpu_set_tcr_t0sz()
        arm64: trans_pgd: pass NULL instead of init_mm to *_populate functions
        arm64: trans_pgd: pass allocator trans_pgd_create_copy
        arm64: trans_pgd: make trans_pgd_map_page generic
        arm64: hibernate: move page handling function to new trans_pgd.c
        arm64: hibernate: variable pudp is used instead of pd4dp
        arm64: kexec: make dtb_mem always enabled
      b374d0f9
    • Will Deacon's avatar
      Merge branch 'for-next/faultaround' into for-next/core · 6b76c3ae
      Will Deacon authored
      Initialise prefaulted PTEs as 'old' for arm64 when hardware access-flag
      updates are supported, which drastically improves vmscan performance.
      
      * for-next/faultaround:
        mm: filemap: Fix microblaze build failure with 'mmu_defconfig'
        mm/nommu: Fix return type of filemap_map_pages()
        mm: Mark anonymous struct field of 'struct vm_fault' as 'const'
        mm: Use static initialisers for immutable fields of 'struct vm_fault'
        mm: Avoid modifying vmf.address in __collapse_huge_page_swapin()
        mm: Pass 'address' to map to do_set_pte() and drop FAULT_FLAG_PREFAULT
        mm: Move immutable fields of 'struct vm_fault' into anonymous struct
        arm64: mm: Implement arch_wants_old_prefaulted_pte()
        mm: Allow architectures to request 'old' entries when prefaulting
        mm: Cleanup faultaround and finish_fault() codepaths
      6b76c3ae
    • Will Deacon's avatar
      Merge branch 'for-next/errata' into for-next/core · 90eb8c9d
      Will Deacon authored
      Rework of the workaround for Cortex-A76 erratum 1463225 to fit in better
      with the ongoing exception entry cleanups and changes to the detection
      code for Cortex-A55 erratum 1024718 since it applies to all revisions of
      the silicon.
      
      * for-next/errata:
        arm64: entry: consolidate Cortex-A76 erratum 1463225 workaround
        arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55
      90eb8c9d
    • Will Deacon's avatar
      Merge branch 'for-next/crypto' into for-next/core · f96a816f
      Will Deacon authored
      Introduce a new macro to allow yielding the vector unit if preemption
      is required. The initial users of this are being merged via the crypto
      tree for 5.12.
      
      * for-next/crypto:
        arm64: assembler: add cond_yield macro
      f96a816f
    • Will Deacon's avatar
      Merge branch 'for-next/cpufeature' into for-next/core · 88ddf0df
      Will Deacon authored
      Support for overriding CPU ID register fields on the command-line, which
      allows us to disable certain features which the kernel would otherwise
      use unconditionally when detected.
      
      * for-next/cpufeature: (22 commits)
        arm64: cpufeatures: Allow disabling of Pointer Auth from the command-line
        arm64: Defer enabling pointer authentication on boot core
        arm64: cpufeatures: Allow disabling of BTI from the command-line
        arm64: Move "nokaslr" over to the early cpufeature infrastructure
        KVM: arm64: Document HVC_VHE_RESTART stub hypercall
        arm64: Make kvm-arm.mode={nvhe, protected} an alias of id_aa64mmfr1.vh=0
        arm64: Add an aliasing facility for the idreg override
        arm64: Honor VHE being disabled from the command-line
        arm64: Allow ID_AA64MMFR1_EL1.VH to be overridden from the command line
        arm64: cpufeature: Add an early command-line cpufeature override facility
        arm64: Extract early FDT mapping from kaslr_early_init()
        arm64: cpufeature: Use IDreg override in __read_sysreg_by_encoding()
        arm64: cpufeature: Add global feature override facility
        arm64: Move SCTLR_EL1 initialisation to EL-agnostic code
        arm64: Simplify init_el2_state to be non-VHE only
        arm64: Move VHE-specific SPE setup to mutate_to_vhe()
        arm64: Drop early setting of MDSCR_EL2.TPMS
        arm64: Initialise as nVHE before switching to VHE
        arm64: Provide an 'upgrade to VHE' stub hypercall
        arm64: Turn the MMU-on sequence into a macro
        ...
      88ddf0df
    • Will Deacon's avatar
      Merge branch 'for-next/cosmetic' into for-next/core · bab8443b
      Will Deacon authored
      Cosmetic changes to tidy up stale comments and fix inconsistent
      whitespace. No functional changes here!
      
      * for-next/cosmetic:
        mm/arm64: Correct obsolete comment in do_page_fault()
        arm64: improve whitespace
      bab8443b
  3. 10 Feb, 2021 2 commits
  4. 09 Feb, 2021 19 commits
  5. 08 Feb, 2021 2 commits
    • Mark Rutland's avatar
      arm64: entry: consolidate Cortex-A76 erratum 1463225 workaround · 6459b846
      Mark Rutland authored
      The workaround for Cortex-A76 erratum 1463225 is split across the
      syscall and debug handlers in separate files. This structure currently
      forces us to do some redundant work for debug exceptions from EL0, is a
      little difficult to follow, and gets in the way of some future rework of
      the exception entry code as it requires exceptions to be unmasked late
      in the syscall handling path.
      
      To simplify things, and as a preparatory step for future rework of
      exception entry, this patch moves all the workaround logic into
      entry-common.c. As the debug handler only needs to run for EL1 debug
      exceptions, we no longer call it for EL0 debug exceptions, and no longer
      need to check user_mode(regs) as this is always false. For clarity
      cortex_a76_erratum_1463225_debug_handler() is changed to return bool.
      
      In the SVC path, the workaround is applied earlier, but this should have
      no functional impact as exceptions are still masked. In the debug path
      we run the fixup before explicitly disabling preemption, but we will not
      attempt to preempt before returning from the exception.
      
      There should be no functional change as a result of this patch.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: James Morse <james.morse@arm.com>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20210202120341.28858-1-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
      6459b846
    • Marc Zyngier's avatar
      arm64: Provide an 'upgrade to VHE' stub hypercall · f3591822
      Marc Zyngier authored
      As we are about to change the way a VHE system boots, let's
      provide the core helper, in the form of a stub hypercall that
      enables VHE and replicates the full EL1 context at EL2, thanks
      to EL1 and VHE-EL2 being extremely similar.
      
      On exception return, the kernel carries on at EL2. Fancy!
      
      Nothing calls this new hypercall yet, so no functional change.
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Acked-by: default avatarDavid Brazdil <dbrazdil@google.com>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Link: https://lore.kernel.org/r/20210208095732.3267263-5-maz@kernel.orgSigned-off-by: default avatarWill Deacon <will@kernel.org>
      f3591822