xref: /xnu-11215/tools/tests/execperf/exit-asm.S (revision 5c2921b0)
1.text
2	.align 2
3	.globl _main
4_main:
5#if defined(__x86_64__)
6	pushq $0
7	mov %rsp, %rbp
8	andq $0xfffffffffffffff0, %rsp
9	movl $42, %edi
10	movl $0x2000001, %eax
11	movl $0, %ecx
12	movq %rcx, %r10
13	syscall
14	jmp 1f
151:
16	hlt
17	nop
18	nop
19	nop
20	nop
21#elif defined(__i386__)
22	pushl $0
23	mov %esp, %ebp
24	andl $0xfffffff0, %esp
25	subl $12, %esp
26	pushl $42
27	mov $0x40001, %eax
28	call _sysenter_trap
29	jmp 1f
301:
31	hlt
32	nop
33	nop
34	nop
35	nop
36_sysenter_trap:
37	pop %edx
38	mov %esp, %ecx
39	sysenter
40	nop
41#elif defined(__arm64__)
42	movz	x0, #42
43	movz	x16, #1
44	svc	#0x80
45	b.cc	1f
461:
47	nop
48#else
49#error Unsupported architecture
50#endif
51