Files
zinnia/include/zinnia/syscall.h
T

29 lines
459 B
C

#pragma once
#include <zinnia/sched.h>
struct syscall_ret {
uintptr_t value;
int error;
};
struct syscall {
void* func;
int num_args;
};
[[gnu::no_caller_saved_registers]]
struct syscall_ret syscall_dispatch_fast(
uintptr_t a0,
uintptr_t a1,
uintptr_t a2,
uintptr_t a3,
uintptr_t a4,
uintptr_t a5,
size_t num
);
void syscall_dispatch(struct arch_context* ctx);
extern const struct syscall syscall_table[256];