v7 changes: - add HISI_CPU_PART_HIP11 v6 changes: - rename cmdline param "copy_opt=off" to "copy_opt_disable" v5 changes: - replace cpus_have_const_cap with alternative_has_cap_unlikely v4 changes: - handle copy_opt=off via has_copy_opt() to clear ARM64_HAS_COPY_OPT v3 changes: - Introduce CONFIG_ARM64_COPY_FROM_USER_OPT and a "copy_opt=off" cmdline parameter to disable it. v2 changes: - Merge patch 1 and 2 into a single feature patch that adds the optimized copy_from_user implementation. - Change cpufeature description and delete unnecessary pr_info. Qi Xi (4): arm64: cputype: Add CPU type for HISI_CPU_PART_HIP11 arm64: lib: add __arch_copy_from_user_opt with index-addressed ldp/stp arm64: uaccess: enable optimized copy_from_user for >= 4kb copies arm64: uaccess: add CONFIG control for copy_from_user_opt .../admin-guide/kernel-parameters.txt | 6 + arch/arm64/Kconfig | 11 + arch/arm64/include/asm/asm-uaccess.h | 7 + arch/arm64/include/asm/cputype.h | 2 + arch/arm64/include/asm/uaccess.h | 31 ++- arch/arm64/kernel/cpufeature.c | 35 ++++ arch/arm64/lib/copy_from_user.S | 36 ++++ arch/arm64/lib/copy_template_opt.S | 189 ++++++++++++++++++ arch/arm64/tools/cpucaps | 2 +- tools/arch/arm64/include/asm/cputype.h | 2 + 10 files changed, 318 insertions(+), 3 deletions(-) create mode 100644 arch/arm64/lib/copy_template_opt.S -- 2.33.0