Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
syscall.h File Reference

Xtensa specific syscall header. More...

#include <zephyr/types.h>
#include <stdbool.h>
#include <zephyr/linker/sections.h>
#include <zephyr/sys/util_macro.h>
#include <xtensa/config/core-isa.h>

Go to the source code of this file.

Macros

#define SYSINL   inline
 

Functions

static uintptr_t arch_syscall_invoke6 (uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5, uintptr_t arg6, uintptr_t call_id)
 We are following Linux Xtensa syscall ABI:
 
static uintptr_t arch_syscall_invoke5 (uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5, uintptr_t call_id)
 
static uintptr_t arch_syscall_invoke4 (uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t call_id)
 
static uintptr_t arch_syscall_invoke3 (uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t call_id)
 
static uintptr_t arch_syscall_invoke2 (uintptr_t arg1, uintptr_t arg2, uintptr_t call_id)
 
static uintptr_t arch_syscall_invoke1 (uintptr_t arg1, uintptr_t call_id)
 
static uintptr_t arch_syscall_invoke0 (uintptr_t call_id)
 
static bool arch_is_user_context (void)
 

Detailed Description

Xtensa specific syscall header.

This header contains the Xtensa specific syscall interface. It is included by the syscall interface architecture-abstraction header (include/arch/syscall.h)

Macro Definition Documentation

◆ SYSINL

#define SYSINL   inline

Function Documentation

◆ arch_is_user_context()

static bool arch_is_user_context ( void )
inlinestatic

◆ arch_syscall_invoke0()

static uintptr_t arch_syscall_invoke0 ( uintptr_t call_id)
inlinestatic

◆ arch_syscall_invoke1()

static uintptr_t arch_syscall_invoke1 ( uintptr_t arg1,
uintptr_t call_id )
inlinestatic

◆ arch_syscall_invoke2()

static uintptr_t arch_syscall_invoke2 ( uintptr_t arg1,
uintptr_t arg2,
uintptr_t call_id )
inlinestatic

◆ arch_syscall_invoke3()

static uintptr_t arch_syscall_invoke3 ( uintptr_t arg1,
uintptr_t arg2,
uintptr_t arg3,
uintptr_t call_id )
inlinestatic

◆ arch_syscall_invoke4()

static uintptr_t arch_syscall_invoke4 ( uintptr_t arg1,
uintptr_t arg2,
uintptr_t arg3,
uintptr_t arg4,
uintptr_t call_id )
inlinestatic

◆ arch_syscall_invoke5()

static uintptr_t arch_syscall_invoke5 ( uintptr_t arg1,
uintptr_t arg2,
uintptr_t arg3,
uintptr_t arg4,
uintptr_t arg5,
uintptr_t call_id )
inlinestatic

◆ arch_syscall_invoke6()

static uintptr_t arch_syscall_invoke6 ( uintptr_t arg1,
uintptr_t arg2,
uintptr_t arg3,
uintptr_t arg4,
uintptr_t arg5,
uintptr_t arg6,
uintptr_t call_id )
inlinestatic

We are following Linux Xtensa syscall ABI:

syscall number arg1, arg2, arg3, arg4, arg5, arg6


a2 a6, a3, a4, a5, a8, a9