Skip to main content
Back to course
Log in
Get started
Someone wanted to learn this too, so Grasp built them a personal learning path.
Create your own
Low-Level Systems Programming Internals
·
Module 1
x86-64 Kernel Entry and Exception Control
1
Tracing an x86-64 Linux System Call: From User Space to Kernel Return
Trace an x86-64 Linux system call from its userspace instruction through kernel entry and return.
Trace an x86-64 Linux system call from its userspace instruction through kernel entry and return.
2
Interpreting x86-64 Privilege-Transition State Frames
Interpret the privilege-transition state saved by x86-64 during an exception or system call.
Interpret the privilege-transition state saved by x86-64 during an exception or system call.
3
Booting a Freestanding Rust Kernel with QEMU Serial Logging
Boot a freestanding Rust kernel under QEMU with serial-console logging.
Boot a freestanding Rust kernel under QEMU with serial-console logging.
4
Debugging a Freestanding Kernel with QEMU and GDB
Inspect a running freestanding kernel's instructions, registers, and stack with QEMU and GDB.
Inspect a running freestanding kernel's instructions, registers, and stack with QEMU and GDB.
5
Installing an x86-64 Breakpoint Interrupt Descriptor Table Entry
Install an x86-64 interrupt-descriptor-table entry for a breakpoint exception.
Install an x86-64 interrupt-descriptor-table entry for a breakpoint exception.
6
Implementing a Page-Fault Handler and Decoding Fault Information
Implement a page-fault handler that decodes the fault address and error-code bits.
Implement a page-fault handler that decodes the fault address and error-code bits.
Next module isn't ready yet,
Back to course
Previous module
Next module