xtensa: noMMU: allow handling protection faults
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 10 Dec 2019 22:23:49 +0000 (14:23 -0800)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 2 May 2022 02:51:21 +0000 (19:51 -0700)
commita8f0c31fa87dcf9154c4209960f1dd1ed6a1aad8
treed32478a51694a14cbd5c80e6768ea0869647aa88
parent270a8306917e40746a02494abbd40828356b08e1
xtensa: noMMU: allow handling protection faults

Many xtensa CPU cores without full MMU still have memory protection
features capable of raising exceptions for invalid instruction
fetches/data access. Allow handling such exceptions. This improves
behavior of processes that pass invalid memory pointers to syscalls in
noMMU configs: in case of exception the kernel instead of killing the
process is now able to return -EINVAL from a syscall.

Introduce CONFIG_PFAULT that controls whether protection fault code is
enabled and register handlers for common memory protection exceptions
when it is enabled.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/Kconfig
arch/xtensa/kernel/traps.c
arch/xtensa/mm/Makefile
arch/xtensa/mm/fault.c