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