64 lines
754 B
ArmAsm
64 lines
754 B
ArmAsm
/* 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
|