| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #include <basic_asm.h> | |
| #include <asm/unistd.h> | |
| .text | |
| FUNC_START(getppid_tm_active) | |
| tbegin. | |
| beq 1f | |
| li r0, __NR_getppid | |
| sc | |
| tend. | |
| blr | |
| 1: | |
| li r3, -1 | |
| blr | |
| FUNC_START(getppid_tm_suspended) | |
| tbegin. | |
| beq 1f | |
| li r0, __NR_getppid | |
| tsuspend. | |
| sc | |
| tresume. | |
| tend. | |
| blr | |
| 1: | |
| li r3, -1 | |
| blr | |
| .macro scv level | |
| .long (0x44000001 | (\level) << 5) | |
| .endm | |
| FUNC_START(getppid_scv_tm_active) | |
| PUSH_BASIC_STACK(0) | |
| tbegin. | |
| beq 1f | |
| li r0, __NR_getppid | |
| scv 0 | |
| tend. | |
| POP_BASIC_STACK(0) | |
| blr | |
| 1: | |
| li r3, -1 | |
| POP_BASIC_STACK(0) | |
| blr | |
| FUNC_START(getppid_scv_tm_suspended) | |
| PUSH_BASIC_STACK(0) | |
| tbegin. | |
| beq 1f | |
| li r0, __NR_getppid | |
| tsuspend. | |
| scv 0 | |
| tresume. | |
| tend. | |
| POP_BASIC_STACK(0) | |
| blr | |
| 1: | |
| li r3, -1 | |
| POP_BASIC_STACK(0) | |
| blr |