162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#include <basic_asm.h> 362306a36Sopenharmony_ci#include <asm/unistd.h> 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci .text 662306a36Sopenharmony_ciFUNC_START(getppid_tm_active) 762306a36Sopenharmony_ci tbegin. 862306a36Sopenharmony_ci beq 1f 962306a36Sopenharmony_ci li r0, __NR_getppid 1062306a36Sopenharmony_ci sc 1162306a36Sopenharmony_ci tend. 1262306a36Sopenharmony_ci blr 1362306a36Sopenharmony_ci1: 1462306a36Sopenharmony_ci li r3, -1 1562306a36Sopenharmony_ci blr 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciFUNC_START(getppid_tm_suspended) 1862306a36Sopenharmony_ci tbegin. 1962306a36Sopenharmony_ci beq 1f 2062306a36Sopenharmony_ci li r0, __NR_getppid 2162306a36Sopenharmony_ci tsuspend. 2262306a36Sopenharmony_ci sc 2362306a36Sopenharmony_ci tresume. 2462306a36Sopenharmony_ci tend. 2562306a36Sopenharmony_ci blr 2662306a36Sopenharmony_ci1: 2762306a36Sopenharmony_ci li r3, -1 2862306a36Sopenharmony_ci blr 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci.macro scv level 3262306a36Sopenharmony_ci .long (0x44000001 | (\level) << 5) 3362306a36Sopenharmony_ci.endm 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciFUNC_START(getppid_scv_tm_active) 3662306a36Sopenharmony_ci PUSH_BASIC_STACK(0) 3762306a36Sopenharmony_ci tbegin. 3862306a36Sopenharmony_ci beq 1f 3962306a36Sopenharmony_ci li r0, __NR_getppid 4062306a36Sopenharmony_ci scv 0 4162306a36Sopenharmony_ci tend. 4262306a36Sopenharmony_ci POP_BASIC_STACK(0) 4362306a36Sopenharmony_ci blr 4462306a36Sopenharmony_ci1: 4562306a36Sopenharmony_ci li r3, -1 4662306a36Sopenharmony_ci POP_BASIC_STACK(0) 4762306a36Sopenharmony_ci blr 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciFUNC_START(getppid_scv_tm_suspended) 5062306a36Sopenharmony_ci PUSH_BASIC_STACK(0) 5162306a36Sopenharmony_ci tbegin. 5262306a36Sopenharmony_ci beq 1f 5362306a36Sopenharmony_ci li r0, __NR_getppid 5462306a36Sopenharmony_ci tsuspend. 5562306a36Sopenharmony_ci scv 0 5662306a36Sopenharmony_ci tresume. 5762306a36Sopenharmony_ci tend. 5862306a36Sopenharmony_ci POP_BASIC_STACK(0) 5962306a36Sopenharmony_ci blr 6062306a36Sopenharmony_ci1: 6162306a36Sopenharmony_ci li r3, -1 6262306a36Sopenharmony_ci POP_BASIC_STACK(0) 6362306a36Sopenharmony_ci blr 64