mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
f0bddf5058
This patch converts riscv to use the generic entry infrastructure from kernel/entry/*. The generic entry makes maintainers' work easier and codes more elegant. Here are the changes: - More clear entry.S with handle_exception and ret_from_exception - Get rid of complex custom signal implementation - Move syscall procedure from assembly to C, which is much more readable. - Connect ret_from_fork & ret_from_kernel_thread to generic entry. - Wrap with irqentry_enter/exit and syscall_enter/exit_from_user_mode - Use the standard preemption code instead of custom Suggested-by: Huacai Chen <chenhuacai@kernel.org> Reviewed-by: Björn Töpel <bjorn@rivosinc.com> Tested-by: Yipeng Zou <zouyipeng@huawei.com> Tested-by: Jisheng Zhang <jszhang@kernel.org> Signed-off-by: Guo Ren <guoren@linux.alibaba.com> Signed-off-by: Guo Ren <guoren@kernel.org> Cc: Ben Hutchings <ben@decadent.org.uk> Link: https://lore.kernel.org/r/20230222033021.983168-5-guoren@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
24 lines
490 B
C
24 lines
490 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2019 SiFive, Inc.
|
|
*/
|
|
#ifndef __ASM_HEAD_H
|
|
#define __ASM_HEAD_H
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/init.h>
|
|
|
|
extern atomic_t hart_lottery;
|
|
|
|
asmlinkage void __init setup_vm(uintptr_t dtb_pa);
|
|
#ifdef CONFIG_XIP_KERNEL
|
|
asmlinkage void __init __copy_data(void);
|
|
#endif
|
|
|
|
#ifdef CONFIG_RISCV_BOOT_SPINWAIT
|
|
extern void *__cpu_spinwait_stack_pointer[];
|
|
extern void *__cpu_spinwait_task_pointer[];
|
|
#endif
|
|
|
|
#endif /* __ASM_HEAD_H */
|