1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */
219f9a34fSPaul Mundt#include <asm/unistd.h>
319f9a34fSPaul Mundt
419f9a34fSPaul Mundt	.text
519f9a34fSPaul Mundt	.balign 32
619f9a34fSPaul Mundt	.globl __kernel_sigreturn
719f9a34fSPaul Mundt	.type __kernel_sigreturn,@function
819f9a34fSPaul Mundt__kernel_sigreturn:
919f9a34fSPaul Mundt.LSTART_sigreturn:
1019f9a34fSPaul Mundt	mov.w	1f, r3
1119f9a34fSPaul Mundt	trapa	#0x10
1219f9a34fSPaul Mundt	or	r0, r0
1319f9a34fSPaul Mundt	or	r0, r0
1419f9a34fSPaul Mundt	or	r0, r0
1519f9a34fSPaul Mundt	or	r0, r0
1619f9a34fSPaul Mundt	or	r0, r0
1719f9a34fSPaul Mundt
1819f9a34fSPaul Mundt1:	.short	__NR_sigreturn
1919f9a34fSPaul Mundt.LEND_sigreturn:
2019f9a34fSPaul Mundt	.size __kernel_sigreturn,.-.LSTART_sigreturn
2119f9a34fSPaul Mundt
2219f9a34fSPaul Mundt	.balign 32
2319f9a34fSPaul Mundt	.globl __kernel_rt_sigreturn
2419f9a34fSPaul Mundt	.type __kernel_rt_sigreturn,@function
2519f9a34fSPaul Mundt__kernel_rt_sigreturn:
2619f9a34fSPaul Mundt.LSTART_rt_sigreturn:
2719f9a34fSPaul Mundt	mov.w	1f, r3
2819f9a34fSPaul Mundt	trapa	#0x10
2919f9a34fSPaul Mundt	or	r0, r0
3019f9a34fSPaul Mundt	or	r0, r0
3119f9a34fSPaul Mundt	or	r0, r0
3219f9a34fSPaul Mundt	or	r0, r0
3319f9a34fSPaul Mundt	or	r0, r0
3419f9a34fSPaul Mundt
3519f9a34fSPaul Mundt1:	.short	__NR_rt_sigreturn
3619f9a34fSPaul Mundt.LEND_rt_sigreturn:
3719f9a34fSPaul Mundt	.size __kernel_rt_sigreturn,.-.LSTART_rt_sigreturn
38cd34e202SPaul Mundt	.previous
3919f9a34fSPaul Mundt
4019f9a34fSPaul Mundt	.section .eh_frame,"a",@progbits
41cd34e202SPaul Mundt.LCIE1:
42cd34e202SPaul Mundt	.ualong	.LCIE1_end - .LCIE1_start
43cd34e202SPaul Mundt.LCIE1_start:
44cd34e202SPaul Mundt	.ualong	0		/* CIE ID */
45cd34e202SPaul Mundt	.byte	0x1		/* Version number */
46cd34e202SPaul Mundt	.string	"zRS"		/* NUL-terminated augmentation string */
47cd34e202SPaul Mundt	.uleb128 0x1		/* Code alignment factor */
48cd34e202SPaul Mundt	.sleb128 -4		/* Data alignment factor */
49cd34e202SPaul Mundt	.byte	0x11		/* Return address register column */
50cd34e202SPaul Mundt	.uleb128 0x1		/* Augmentation length and data */
51cd34e202SPaul Mundt	.byte 0x1b              /* DW_EH_PE_pcrel | DW_EH_PE_sdata4. */
52cd34e202SPaul Mundt	.byte	0xc, 0xf, 0x0	/* DW_CFA_def_cfa: r15 ofs 0 */
53cd34e202SPaul Mundt
54cd34e202SPaul Mundt	.align 2
55cd34e202SPaul Mundt.LCIE1_end:
56cd34e202SPaul Mundt
57cd34e202SPaul Mundt	.ualong	.LFDE0_end-.LFDE0_start	/* Length FDE0 */
58cd34e202SPaul Mundt.LFDE0_start:
59cd34e202SPaul Mundt	.ualong	.LFDE0_start-.LCIE1	/* CIE pointer */
60cd34e202SPaul Mundt	.ualong	.LSTART_sigreturn-.	/* PC-relative start address */
61cd34e202SPaul Mundt	.ualong	.LEND_sigreturn-.LSTART_sigreturn
62cd34e202SPaul Mundt	.uleb128 0			/* Augmentation */
63cd34e202SPaul Mundt	.align 2
64cd34e202SPaul Mundt.LFDE0_end:
65cd34e202SPaul Mundt
66cd34e202SPaul Mundt	.ualong	.LFDE1_end-.LFDE1_start	/* Length FDE1 */
67cd34e202SPaul Mundt.LFDE1_start:
68cd34e202SPaul Mundt	.ualong	.LFDE1_start-.LCIE1	/* CIE pointer */
69cd34e202SPaul Mundt	.ualong	.LSTART_rt_sigreturn-.	/* PC-relative start address */
70cd34e202SPaul Mundt	.ualong	.LEND_rt_sigreturn-.LSTART_rt_sigreturn
71cd34e202SPaul Mundt	.uleb128 0			/* Augmentation */
72cd34e202SPaul Mundt	.align 2
73cd34e202SPaul Mundt.LFDE1_end:
74cd34e202SPaul Mundt
7519f9a34fSPaul Mundt	.previous
76