1. 15 Apr, 2021 3 commits
    • Catalin Marinas's avatar
      Merge branch 'for-next/mte-async-kernel-mode' into for-next/core · 604df13d
      Catalin Marinas authored
      * for-next/mte-async-kernel-mode:
        : Add MTE asynchronous kernel mode support
        kasan, arm64: tests supports for HW_TAGS async mode
        arm64: mte: Report async tag faults before suspend
        arm64: mte: Enable async tag check fault
        arm64: mte: Conditionally compile mte_enable_kernel_*()
        arm64: mte: Enable TCO in functions that can read beyond buffer limits
        kasan: Add report for async mode
        arm64: mte: Drop arch_enable_tagging()
        kasan: Add KASAN mode kernel parameter
        arm64: mte: Add asynchronous mode support
      604df13d
    • Catalin Marinas's avatar
      Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable',... · a1e1edde
      Catalin Marinas authored
      Merge branches 'for-next/misc', 'for-next/kselftest', 'for-next/xntable', 'for-next/vdso', 'for-next/fiq', 'for-next/epan', 'for-next/kasan-vmalloc', 'for-next/fgt-boot-init', 'for-next/vhe-only' and 'for-next/neon-softirqs-disabled', remote-tracking branch 'arm64/for-next/perf' into for-next/core
      
      * for-next/misc:
        : Miscellaneous patches
        arm64/sve: Add compile time checks for SVE hooks in generic functions
        arm64/kernel/probes: Use BUG_ON instead of if condition followed by BUG.
        arm64/sve: Remove redundant system_supports_sve() tests
        arm64: mte: Remove unused mte_assign_mem_tag_range()
        arm64: Add __init section marker to some functions
        arm64/sve: Rework SVE access trap to convert state in registers
        docs: arm64: Fix a grammar error
        arm64: smp: Add missing prototype for some smp.c functions
        arm64: setup: name `tcr` register
        arm64: setup: name `mair` register
        arm64: stacktrace: Move start_backtrace() out of the header
        arm64: barrier: Remove spec_bar() macro
        arm64: entry: remove test_irqs_unmasked macro
        ARM64: enable GENERIC_FIND_FIRST_BIT
        arm64: defconfig: Use DEBUG_INFO_REDUCED
      
      * for-next/kselftest:
        : Various kselftests for arm64
        kselftest: arm64: Add BTI tests
        kselftest/arm64: mte: Report filename on failing temp file creation
        kselftest/arm64: mte: Fix clang warning
        kselftest/arm64: mte: Makefile: Fix clang compilation
        kselftest/arm64: mte: Output warning about failing compiler
        kselftest/arm64: mte: Use cross-compiler if specified
        kselftest/arm64: mte: Fix MTE feature detection
        kselftest/arm64: mte: common: Fix write() warnings
        kselftest/arm64: mte: user_mem: Fix write() warning
        kselftest/arm64: mte: ksm_options: Fix fscanf warning
        kselftest/arm64: mte: Fix pthread linking
        kselftest/arm64: mte: Fix compilation with native compiler
      
      * for-next/xntable:
        : Add hierarchical XN permissions for all page tables
        arm64: mm: use XN table mapping attributes for user/kernel mappings
        arm64: mm: use XN table mapping attributes for the linear region
        arm64: mm: add missing P4D definitions and use them consistently
      
      * for-next/vdso:
        : Minor improvements to the compat vdso and sigpage
        arm64: compat: Poison the compat sigpage
        arm64: vdso: Avoid ISB after reading from cntvct_el0
        arm64: compat: Allow signal page to be remapped
        arm64: vdso: Remove redundant calls to flush_dcache_page()
        arm64: vdso: Use GFP_KERNEL for allocating compat vdso and signal pages
      
      * for-next/fiq:
        : Support arm64 FIQ controller registration
        arm64: irq: allow FIQs to be handled
        arm64: Always keep DAIF.[IF] in sync
        arm64: entry: factor irq triage logic into macros
        arm64: irq: rework root IRQ handler registration
        arm64: don't use GENERIC_IRQ_MULTI_HANDLER
        genirq: Allow architectures to override set_handle_irq() fallback
      
      * for-next/epan:
        : Support for Enhanced PAN (execute-only permissions)
        arm64: Support execute-only permissions with Enhanced PAN
      
      * for-next/kasan-vmalloc:
        : Support CONFIG_KASAN_VMALLOC on arm64
        arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled
        arm64: kaslr: support randomized module area with KASAN_VMALLOC
        arm64: Kconfig: support CONFIG_KASAN_VMALLOC
        arm64: kasan: abstract _text and _end to KERNEL_START/END
        arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC
      
      * for-next/fgt-boot-init:
        : Booting clarifications and fine grained traps setup
        arm64: Require that system registers at all visible ELs be initialized
        arm64: Disable fine grained traps on boot
        arm64: Document requirements for fine grained traps at boot
      
      * for-next/vhe-only:
        : Dealing with VHE-only CPUs (a.k.a. M1)
        arm64: Get rid of CONFIG_ARM64_VHE
        arm64: Cope with CPUs stuck in VHE mode
        arm64: cpufeature: Allow early filtering of feature override
      
      * arm64/for-next/perf:
        arm64: perf: Remove redundant initialization in perf_event.c
        perf/arm_pmu_platform: Clean up with dev_printk
        perf/arm_pmu_platform: Fix error handling
        perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors
        docs: perf: Address some html build warnings
        docs: perf: Add new description on HiSilicon uncore PMU v2
        drivers/perf: hisi: Add support for HiSilicon PA PMU driver
        drivers/perf: hisi: Add support for HiSilicon SLLC PMU driver
        drivers/perf: hisi: Update DDRC PMU for programmable counter
        drivers/perf: hisi: Add new functions for HHA PMU
        drivers/perf: hisi: Add new functions for L3C PMU
        drivers/perf: hisi: Add PMU version for uncore PMU drivers.
        drivers/perf: hisi: Refactor code for more uncore PMUs
        drivers/perf: hisi: Remove unnecessary check of counter index
        drivers/perf: Simplify the SMMUv3 PMU event attributes
        drivers/perf: convert sysfs sprintf family to sysfs_emit
        drivers/perf: convert sysfs scnprintf family to sysfs_emit_at() and sysfs_emit()
        drivers/perf: convert sysfs snprintf family to sysfs_emit
      
      * for-next/neon-softirqs-disabled:
        : Run kernel mode SIMD with softirqs disabled
        arm64: fpsimd: run kernel mode NEON with softirqs disabled
        arm64: assembler: introduce wxN aliases for wN registers
        arm64: assembler: remove conditional NEON yield macros
      a1e1edde
    • Mark Brown's avatar
      arm64/sve: Add compile time checks for SVE hooks in generic functions · 087dfa5c
      Mark Brown authored
      The FPSIMD code was relying on IS_ENABLED() checks in system_suppors_sve()
      to cause the compiler to delete references to SVE functions in some places,
      add explicit IS_ENABLED() checks back.
      
      Fixes: ef9c5d09 ("arm64/sve: Remove redundant system_supports_sve() tests")
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Link: https://lore.kernel.org/r/20210415121742.36628-1-broonie@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      087dfa5c
  2. 13 Apr, 2021 2 commits
  3. 12 Apr, 2021 3 commits
  4. 11 Apr, 2021 9 commits
  5. 08 Apr, 2021 9 commits
  6. 01 Apr, 2021 1 commit
  7. 30 Mar, 2021 5 commits
  8. 29 Mar, 2021 6 commits
  9. 28 Mar, 2021 2 commits
    • Mark Rutland's avatar
      arm64: setup: name `tcr` register · 5cd6fa6d
      Mark Rutland authored
      In __cpu_setup we conditionally manipulate the TCR_EL1 value in x10
      after previously using x10 as a scratch register for unrelated temporary
      variables.
      
      To make this a bit clearer, let's move the TCR_EL1 value into a named
      register `tcr`. To simplify the register allocation, this is placed in
      the highest available caller-saved scratch register, tcr.
      
      Following the example of `mair`, we initialise the register with the
      default value prior to any feature discovery, and write it to MAIR_EL1
      after all feature discovery is complete, which allows us to simplify the
      featuere discovery code.
      
      The existing `mte_tcr` register is no longer needed, and is replaced by
      the use of x10 as a temporary, matching the rest of the MTE feature
      discovery assembly in __cpu_setup. As x20 is no longer used, the
      function is now AAPCS compliant, as we've generally aimed for in our
      assembly functions.
      
      There should be no functional change as as a result of this patch.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20210326180137.43119-3-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      5cd6fa6d
    • Mark Rutland's avatar
      arm64: setup: name `mair` register · 776e49af
      Mark Rutland authored
      In __cpu_setup we conditionally manipulate the MAIR_EL1 value in x5
      before later reusing x5 as a scratch register for unrelated temporary
      variables.
      
      To make this a bit clearer, let's move the MAIR_EL1 value into a named
      register `mair`. To simplify the register allocation, this is placed in
      the highest available caller-saved scratch register, x17. As it is no
      longer clobbered by other usage, we can write the value to MAIR_EL1 at
      the end of the function as we do for TCR_EL1 rather than part-way though
      feature discovery.
      
      There should be no functional change as as a result of this patch.
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      Cc: Marc Zyngier <maz@kernel.org>
      Cc: Will Deacon <will@kernel.org>
      Link: https://lore.kernel.org/r/20210326180137.43119-2-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      776e49af