arm64 updates for 5.13:

- MTE asynchronous support for KASan. Previously only synchronous
  (slower) mode was supported. Asynchronous is faster but does not allow
  precise identification of the illegal access.

- Run kernel mode SIMD with softirqs disabled. This allows using NEON in
  softirq context for crypto performance improvements. The conditional
  yield support is modified to take softirqs into account and reduce the
  latency.

- Preparatory patches for Apple M1: handle CPUs that only have the VHE
  mode available (host kernel running at EL2), add FIQ support.

- arm64 perf updates: support for HiSilicon PA and SLLC PMU drivers, new
  functions for the HiSilicon HHA and L3C PMU, cleanups.

- Re-introduce support for execute-only user permissions but only when
  the EPAN (Enhanced Privileged Access Never) architecture feature is
  available.

- Disable fine-grained traps at boot and improve the documented boot
  requirements.

- Support CONFIG_KASAN_VMALLOC on arm64 (only with KASAN_GENERIC).

- Add hierarchical eXecute Never permissions for all page tables.

- Add arm64 prctl(PR_PAC_{SET,GET}_ENABLED_KEYS) allowing user programs
  to control which PAC keys are enabled in a particular task.

- arm64 kselftests for BTI and some improvements to the MTE tests.

- Minor improvements to the compat vdso and sigpage.

- Miscellaneous cleanups.
Merge branch 'for-next/pac-set-get-enabled-keys' into for-next/core

* for-next/pac-set-get-enabled-keys:
  : Introduce arm64 prctl(PR_PAC_{SET,GET}_ENABLED_KEYS).
  arm64: pac: Optimize kernel entry/exit key installation code paths
  arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS)
  arm64: mte: make the per-task SCTLR_EL1 field usable elsewhere