Add xcall/xint support for arm64.
Changes in v4:
- Fix the missing Comma about check_xint_pre_kernel_entry.
- When CONFIG_SECURITY_FEATURE_BYPASS not set, ret_to_user/kernel
instead of "kernel_exit \el" for xcall/xint.
Changes in v3:
- Fix few typos in entry.S.
Changes in v2:
- Avoid enable xint without GICv3 enabled.
- Fix cpucap KABI break.
- Fix missing openeuler_defconfig update.
- Correct the marco control for SECURITY_FEATURE_BYPASS in entry.S.
- exit_to_user_mode_prepare_xcall() -> xcall_exit_to_user_mode_prepare().
Jinjie Ruan (2):
arm64: Introduce Xint software solution
arm64: Add debugfs dir for xint
Yipeng Zou (2):
arm64: Introduce xcall a faster svc exception handling
arm64: Faster SVC exception handler with xcall
arch/Kconfig | 64 ++++++++++
arch/arm64/Kconfig | 2 +
arch/arm64/configs/openeuler_defconfig | 4 +
arch/arm64/kernel/asm-offsets.c | 3 +
arch/arm64/kernel/cpufeature.c | 54 ++++++++
arch/arm64/kernel/entry-common.c | 162 ++++++++++++++++++++++++
arch/arm64/kernel/entry.S | 168 ++++++++++++++++++++++++-
arch/arm64/tools/cpucaps | 4 +-
drivers/irqchip/irq-gic-v3.c | 123 ++++++++++++++++++
fs/proc/base.c | 112 +++++++++++++++++
include/linux/hardirq.h | 5 +
include/linux/irqchip/arm-gic-v3.h | 13 ++
include/linux/sched.h | 4 +
kernel/fork.c | 17 +++
kernel/irq/debugfs.c | 33 +++++
kernel/irq/internals.h | 18 +++
kernel/irq/proc.c | 6 +
kernel/softirq.c | 47 +++++++
18 files changed, 834 insertions(+), 5 deletions(-)
--
2.34.1