16#ifndef ZEPHYR_INCLUDE_ARCH_X86_IA32_SYSCALL_H_
17#define ZEPHYR_INCLUDE_ARCH_X86_IA32_SYSCALL_H_
19#define USER_CODE_SEG 0x2b
20#define USER_DATA_SEG 0x33
22#ifdef CONFIG_USERSPACE
46 __asm__
volatile(
"push %%ebp\n\t"
47 "mov %[arg6], %%ebp\n\t"
51 :
"S" (call_id),
"a" (arg1),
"d" (arg2),
52 "c" (arg3),
"b" (arg4),
"D" (arg5),
66 __asm__
volatile(
"int $0x80"
68 :
"S" (call_id),
"a" (arg1),
"d" (arg2),
69 "c" (arg3),
"b" (arg4),
"D" (arg5)
81 __asm__
volatile(
"int $0x80"
83 :
"S" (call_id),
"a" (arg1),
"d" (arg2),
"c" (arg3),
96 __asm__
volatile(
"int $0x80"
98 :
"S" (call_id),
"a" (arg1),
"d" (arg2),
"c" (arg3)
109 __asm__
volatile(
"int $0x80"
111 :
"S" (call_id),
"a" (arg1),
"d" (arg2)
123 __asm__
volatile(
"int $0x80"
125 :
"S" (call_id),
"a" (arg1)
136 __asm__
volatile(
"int $0x80"
150 __asm__
volatile (
"mov %%cs, %[cs_val]" : [cs_val]
"=r" (cs));
static uintptr_t arch_syscall_invoke4(uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t call_id)
Definition syscall.h:89
static uintptr_t arch_syscall_invoke2(uintptr_t arg1, uintptr_t arg2, uintptr_t call_id)
Definition syscall.h:131
static uintptr_t arch_syscall_invoke1(uintptr_t arg1, uintptr_t call_id)
Definition syscall.h:149
static uintptr_t arch_syscall_invoke0(uintptr_t call_id)
Definition syscall.h:165
static bool arch_is_user_context(void)
Definition syscall.h:181
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)
Definition syscall.h:65
static uintptr_t arch_syscall_invoke3(uintptr_t arg1, uintptr_t arg2, uintptr_t arg3, uintptr_t call_id)
Definition syscall.h:111
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)
Definition syscall.h:40
#define USER_CODE_SEG
Definition syscall.h:19
Definitions of various linker Sections.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105