nios2: implement architecture-specific portion of sys_clone3
This commit adds the sys_clone3 entry point for nios2. An architecture-specific wrapper (__sys_clone3) is required to save and restore additional registers to the kernel stack via SAVE_SWITCH_STACK and RESTORE_SWITCH_STACK. Signed-off-by: Simon Schuster <schuster.simon@siemens-energy.com> Link: https://lore.kernel.org/20250901-nios2-implement-clone3-v2-4-53fcf5577d57@siemens-energy.com Reviewed-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
bbc46b23af
commit
c6ac444ff2
|
@ -7,6 +7,7 @@
|
|||
|
||||
int sys_cacheflush(unsigned long addr, unsigned long len,
|
||||
unsigned int op);
|
||||
asmlinkage long __sys_clone3(struct clone_args __user *uargs, size_t size);
|
||||
|
||||
#include <asm-generic/syscalls.h>
|
||||
|
||||
|
|
|
@ -7,6 +7,4 @@
|
|||
#define __ARCH_WANT_STAT64
|
||||
#define __ARCH_WANT_SET_GET_RLIMIT
|
||||
|
||||
#define __ARCH_BROKEN_SYS_CLONE3
|
||||
|
||||
#endif
|
||||
|
|
|
@ -403,6 +403,12 @@ ENTRY(sys_clone)
|
|||
addi sp, sp, 4
|
||||
RESTORE_SWITCH_STACK
|
||||
ret
|
||||
/* long syscall(SYS_clone3, struct clone_args *cl_args, size_t size); */
|
||||
ENTRY(__sys_clone3)
|
||||
SAVE_SWITCH_STACK
|
||||
call sys_clone3
|
||||
RESTORE_SWITCH_STACK
|
||||
ret
|
||||
|
||||
ENTRY(sys_rt_sigreturn)
|
||||
SAVE_SWITCH_STACK
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
|
||||
|
||||
#define sys_mmap2 sys_mmap_pgoff
|
||||
#define sys_clone3 __sys_clone3
|
||||
|
||||
void *sys_call_table[__NR_syscalls] = {
|
||||
[0 ... __NR_syscalls-1] = sys_ni_syscall,
|
||||
|
|
Loading…
Reference in New Issue