v2->v3: 1. put uce kernel recovery related processing into separate file. 2. fix the RAS error processing flow of do_sea(). 3. add CONFIG_ARM64_UCE_KERNEL_RECOVERY=y to openeuler_defconfig. 4. update commit msg.
v1->v2: 1. update commit msg. 2. change copy_from_user return value. 3. change copy_from_user proc control bit.
Tong Tiangen (3): arm64: ras: add missing call apei_claim_sea in kernel mode arm64: ras: copy_from_user scenario support uce kernel recovery arm64: ras: enable CONFIG_ARM64_UCE_KERNEL_RECOVERY on arm64
Documentation/admin-guide/sysctl/kernel.rst | 17 ++ arch/arm64/Kconfig | 9 + arch/arm64/configs/openeuler_defconfig | 1 + arch/arm64/include/asm/uce_kernel_recovery.h | 33 ++++ arch/arm64/lib/copy_from_user.S | 11 ++ arch/arm64/mm/Makefile | 2 + arch/arm64/mm/fault.c | 7 +- arch/arm64/mm/uce_kernel_recovery.c | 193 +++++++++++++++++++ 8 files changed, 272 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/include/asm/uce_kernel_recovery.h create mode 100644 arch/arm64/mm/uce_kernel_recovery.c