Documentation/arch/riscv/hwprobe.rst | 16 +++ arch/riscv/Kconfig | 57 +++++++- arch/riscv/include/asm/cpufeature.h | 10 +- arch/riscv/include/asm/entry-common.h | 11 -- arch/riscv/include/asm/hwprobe.h | 2 +- arch/riscv/include/asm/vector.h | 2 + arch/riscv/include/uapi/asm/hwprobe.h | 5 + arch/riscv/kernel/Makefile | 3 +- arch/riscv/kernel/copy-unaligned.h | 5 + arch/riscv/kernel/fpu.S | 4 +- arch/riscv/kernel/sys_hwprobe.c | 41 ++++++ arch/riscv/kernel/traps_misaligned.c | 131 +++++++++++++++-- arch/riscv/kernel/unaligned_access_speed.c | 156 +++++++++++++++++++-- arch/riscv/kernel/vec-copy-unaligned.S | 58 ++++++++ arch/riscv/kernel/vector.c | 2 +- 15 files changed, 465 insertions(+), 38 deletions(-) create mode 100644 arch/riscv/kernel/vec-copy-unaligned.S