You are browsing as a guest. Sign up (or log in) to start making projects!

7h 13m 52s logged

Syscalls!

Changes so far:

  • Added gs_info struct, which saves the user stack and holds a pointer to the kernel stack
  • Added syscall::init which enables the syscall/sysret instructions and sets up the STAR, LSTAR and SFMASK registers
  • Added syscall_entry which builds a UserFrame (a snapshot of the CPU registers on syscall entry) and calls syscall_dispatch
  • Added syscall_dispatch, which currently logs the received syscall number and halts (the system call return path is not implemented YET)
  • Added UserFrame which holds a CPU register snapshot which gets taken upon entering the kernel
0
7

Comments 0

No comments yet. Be the first!