linux/tools/testing/selftests/powerpc/tm/tm-syscall-asm.S
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#include <basic_asm.h>
   3#include <asm/unistd.h>
   4
   5        .text
   6FUNC_START(getppid_tm_active)
   7        tbegin.
   8        beq 1f
   9        li      r0, __NR_getppid
  10        sc
  11        tend.
  12        blr
  131:
  14        li      r3, -1
  15        blr
  16
  17FUNC_START(getppid_tm_suspended)
  18        tbegin.
  19        beq 1f
  20        li      r0, __NR_getppid
  21        tsuspend.
  22        sc
  23        tresume.
  24        tend.
  25        blr
  261:
  27        li      r3, -1
  28        blr
  29
  30
  31.macro scv level
  32        .long (0x44000001 | (\level) << 5)
  33.endm
  34
  35FUNC_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
  441:
  45        li      r3, -1
  46        POP_BASIC_STACK(0)
  47        blr
  48
  49FUNC_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
  601:
  61        li      r3, -1
  62        POP_BASIC_STACK(0)
  63        blr
  64