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

Commit 791d0a16 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Fix sys_rt_sigreturn_wrapper



Do not save return registers before rt_sigreturn is called.
_user_exception(syscall handler) already setup return address
that's why it is removed from rt_sigreturn_wrapper.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent 06d19734
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -458,14 +458,8 @@ C_ENTRY(sys_execve):
	addik	r8, r1, PTO;		/* add user context as 4th arg */

C_ENTRY(sys_rt_sigreturn_wrapper):
	swi	r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */
	swi	r4, r1, PTO+PT_R4;
	brlid	r15, sys_rt_sigreturn	/* Do real work */
	brid	sys_rt_sigreturn	/* Do real work */
	addik	r5, r1, PTO;		/* add user context as 1st arg */
	lwi	r3, r1, PTO+PT_R3; /* restore saved r3, r4 registers */
	lwi	r4, r1, PTO+PT_R4;
	bri ret_from_trap /* fall through will not work here due to align */
	nop;

/*
 * HW EXCEPTION rutine start