| 12345678910111213141516171819202122232425262728 |
- // SPDX-License-Identifier: GPL-2.0+
- /*
- * Part of fork context switch microbenchmark.
- *
- * Copyright 2018, Anton Blanchard, IBM Corp.
- */
- #define _GNU_SOURCE
- #include <sys/syscall.h>
- void _start(void)
- {
- asm volatile (
- "li %%r0, %[sys_exit];"
- "li %%r3, 0;"
- "sc;"
- :
- : [sys_exit] "i" (SYS_exit)
- /*
- * "sc" will clobber r0, r3-r13, cr0, ctr, xer and memory.
- * Even though sys_exit never returns, handle clobber
- * registers.
- */
- : "r0", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",
- "r11", "r12", "r13", "cr0", "ctr", "xer", "memory"
- );
- }
|