1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #include <basic_asm.h> 3 #include <asm/unistd.h> 4 5 .text 6 FUNC_START(getppid_tm_active) 7 tbegin. 8 beq 1f 9 li r0, __NR_getppid 10 sc 11 tend. 12 blr 13 1: 14 li r3, -1 15 blr 16 17 FUNC_START(getppid_tm_suspended) 18 tbegin. 19 beq 1f 20 li r0, __NR_getppid 21 tsuspend. 22 sc 23 tresume. 24 tend. 25 blr 26 1: 27 li r3, -1 28 blr 29 30 31 .macro scv level 32 .long (0x44000001 | (\level) << 5) 33 .endm 34 35 FUNC_START(getppid_scv_tm_active) 36 PUSH_BASIC_STACK(0) 37 tbegin. 38 beq 1f 39 li r0, __NR_getppid 40 scv 0 41 tend. 42 POP_BASIC_STACK(0) 43 blr 44 1: 45 li r3, -1 46 POP_BASIC_STACK(0) 47 blr 48 49 FUNC_START(getppid_scv_tm_suspended) 50 PUSH_BASIC_STACK(0) 51 tbegin. 52 beq 1f 53 li r0, __NR_getppid 54 tsuspend. 55 scv 0 56 tresume. 57 tend. 58 POP_BASIC_STACK(0) 59 blr 60 1: 61 li r3, -1 62 POP_BASIC_STACK(0) 63 blr
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.