blob: aed632d29fff5273c69210a85bdaece582d91e9b [file] [log] [blame]
/* 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