Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e7d7333 authored by Al Viro's avatar Al Viro
Browse files

c6x: switch to saner kernel_execve() semantics

parent ddffeb8c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ config C6X
	select OF_EARLY_FLATTREE
	select GENERIC_CLOCKEVENTS
	select GENERIC_KERNEL_THREAD
	select GENERIC_KERNEL_EXECVE
	select MODULES_USE_ELF_RELA

config MMU
+0 −1
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@
 *   more details.
 */

#define __ARCH_WANT_KERNEL_EXECVE
#define __ARCH_WANT_SYS_EXECVE

/* Use the standard ABI for syscalls. */
+1 −11
Original line number Diff line number Diff line
@@ -413,19 +413,9 @@ ENTRY(ret_from_kernel_thread)
0:
	B	.S2	B10		   /* call fn */
	LDW	.D2T1	*+SP(REGS_A1+8),A4 /* get arg */
	MVKL	.S2	sys_exit,B11
	MVKH	.S2	sys_exit,B11
	ADDKPC	.S2	0f,B3,1
0:
	BNOP	.S2	B11,5	/* jump to sys_exit */
	ADDKPC	.S2	ret_from_fork_2,B3,3
ENDPROC(ret_from_kernel_thread)

ENTRY(ret_from_kernel_execve)
	GET_THREAD_INFO A12
	BNOP	.S2	syscall_exit,4
	ADD	.D2X	A4,-8,SP
ENDPROC(ret_from_kernel_execve)

	;;
	;; These are the interrupt handlers, responsible for calling __do_IRQ()
	;; int6 is used for syscalls (see _system_call entry)