PatchworkOS
Loading...
Searching...
No Matches
syscalls.c File Reference
#include <kernel/cpu/syscalls.h>
#include <kernel/cpu/gdt.h>
#include <kernel/drivers/apic.h>
#include <kernel/log/log.h>
#include <kernel/mem/vmm.h>
#include <kernel/sched/sched.h>
#include <kernel/sched/thread.h>
#include <kernel/defs.h>
#include <assert.h>
#include <errno.h>
#include <stdlib.h>

Go to the source code of this file.

Functions

int syscall_descriptor_cmp (const void *a, const void *b)
 
void syscall_table_init (void)
 Initialize the syscall table.
 
void syscalls_cpu_init (void)
 Initalize syscalls on the current CPU.
 
void syscall_ctx_init (syscall_ctx_t *ctx, stack_pointer_t *kernelStack)
 Initialize a per-thread syscall context.
 
void syscall_ctx_load (syscall_ctx_t *ctx)
 Load a syscall context into the CPU.
 
const syscall_descriptor_tsyscall_get_descriptor (uint64_t number)
 
uint64_t syscall_handler (uint64_t rdi, uint64_t rsi, uint64_t rdx, uint64_t rcx, uint64_t r8, uint64_t r9, uint64_t number)
 C syscall handler.
 

Function Documentation

◆ syscall_descriptor_cmp()

int syscall_descriptor_cmp ( const void *  a,
const void *  b 
)

Definition at line 16 of file syscalls.c.

References syscall_descriptor_t::number.

Referenced by syscall_table_init().

◆ syscall_get_descriptor()

const syscall_descriptor_t * syscall_get_descriptor ( uint64_t  number)

Definition at line 62 of file syscalls.c.

References _syscallTableStart, NULL, and SYS_TOTAL_AMOUNT.

Referenced by syscall_handler().