coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
svc.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SVC_CALL4(SVC_ID, R0, R1, R2, R3, Ret)
 
#define SVC_CALL3(SVC_ID, R0, R1, R2, Ret)
 
#define SVC_CALL2(SVC_ID, R0, R1, Ret)
 
#define SVC_CALL1(SVC_ID, R0, Ret)
 
#define SVC_CALL0(SVC_ID, Ret)
 

Macro Definition Documentation

◆ SVC_CALL0

#define SVC_CALL0 (   SVC_ID,
  Ret 
)
Value:
__asm__ __volatile__ ( \
"svc %[id]\n\t" \
"mov %[result], r0\n\t" \
: [result] "=r" (Ret) /* output */ \
: [id] "I" (SVC_ID) /* input(s) */ \
: "memory", "cc" /* list of clobbered registers */)
result
Definition: mrc_cache.c:35

Definition at line 49 of file svc.h.

◆ SVC_CALL1

#define SVC_CALL1 (   SVC_ID,
  R0,
  Ret 
)
Value:
__asm__ __volatile__ ( \
"mov r0, %[reg0]\n\t" \
"svc %[id]\n\t" \
"mov %[result], r0\n\t" \
: [result] "=r" (Ret) /* output */ \
: [id] "i" (SVC_ID), [reg0] "r" (R0) /* input(s) */ \
: "r0", "memory", "cc" /* list of clobbered registers */)

Definition at line 40 of file svc.h.

◆ SVC_CALL2

#define SVC_CALL2 (   SVC_ID,
  R0,
  R1,
  Ret 
)
Value:
__asm__ __volatile__ ( \
"mov r0, %[reg0]\n\t" \
"mov r1, %[reg1]\n\t" \
"svc %[id]\n\t" \
"mov %[result], r0\n\t" \
: [result] "=r" (Ret) /* output */ \
: [id] "i" (SVC_ID), [reg0] "r" (R0), [reg1] "r" (R1)/* input(s) */ \
: "r0", "r1", "memory", "cc" /* list of clobbered registers */)

Definition at line 30 of file svc.h.

◆ SVC_CALL3

#define SVC_CALL3 (   SVC_ID,
  R0,
  R1,
  R2,
  Ret 
)
Value:
__asm__ __volatile__ ( \
"mov r0, %[reg0]\n\t" \
"mov r1, %[reg1]\n\t" \
"mov r2, %[reg2]\n\t" \
"svc %[id]\n\t" \
"mov %[result], r0\n\t" \
: [result] "=r" (Ret) /* output */ \
: [id] "i" (SVC_ID), [reg0] "r" (R0), [reg1] "r" (R1), [reg2] "r" (R2) \
: "r0", "r1", "r2", "memory", "cc" /* list of clobbered registers */)

Definition at line 19 of file svc.h.

◆ SVC_CALL4

#define SVC_CALL4 (   SVC_ID,
  R0,
  R1,
  R2,
  R3,
  Ret 
)
Value:
__asm__ __volatile__ ( \
"mov r0, %[reg0]\n\t" \
"mov r1, %[reg1]\n\t" \
"mov r2, %[reg2]\n\t" \
"mov r3, %[reg3]\n\t" \
"svc %[id]\n\t" \
"mov %[result], r0\n\t" \
: [result] "=r" (Ret) /* output */ \
: [id] "i" (SVC_ID), [reg0] "r" (R0), [reg1] "r" (R1), [reg2] "r" (R2), \
[reg3] "r" (R3) /* input(s) */ \
: "r0", "r1", "r2", "r3", "memory", "cc" /* list of clobbered registers */)

Definition at line 6 of file svc.h.