coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
svc.h File Reference
#include <bl_uapp/bl_syscall_public.h>
#include <types.h>
Include dependency graph for svc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  cmd_param_sha
 
struct  cmd_param_debug
 
struct  cmd_param_debug_ex
 
struct  cmd_param_modexp
 
struct  cmd_param_psp_update
 
struct  cmd_param_spirom_info
 
struct  cmd_param_map_spirom
 
struct  cmd_param_unmap_spirom
 
struct  cmd_param_read_timer_val
 
struct  cmd_param_delay_in_micro_second
 
struct  cmd_param_reset_system
 
struct  cmd_param_get_boot_mode
 
struct  cmd_param_copy_data_from_uapp
 
struct  cmd_param_map_fch_io_device
 
struct  cmd_param_unmap_fch_io_device
 
struct  cmd_param_ccp_dma
 
struct  cmd_param_set_platform_boot_mode
 

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 54 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 45 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 35 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 24 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 11 of file svc.h.