mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
9963961f358a90d4a428aebb4f15fcfd81f18a26
We now take stack_frame as a immutable reference and we shouldn't write to a &. So the old test example (page faults as breakpoints) becomes even more hacky. Instead, we're now deliberately entering an endless page fault loop to check our iretq logic.
Blog OS
This repository contains the source code for the Writing an OS in Rust series at os.phil-opp.com.
Bare Bones
- A Minimal x86 Kernel (source code)
- Entering Long Mode (source code)
- Set Up Rust (source code)
- Printing to Screen (source code)
Memory Management
- Allocating Frames (source code)
- Page Tables (source code)
- Remap the Kernel (source code)
- Kernel Heap (source code)
Exceptions
- Catching Exceptions (source code)
- Better Exception Messages (source code)
- Returning from Exceptions (source code)
Additional Resources
Building
You need to have nasm, grub-mkrescue, mformat (included in mtools), xorriso, qemu, a nighly Rust compiler, and xargo installed. Then you can run it using make run.
Please file an issue if you run into any problems.
License
The source code is dual-licensed under MIT or the Apache License (Version 2.0). This excludes the blog directory.
Description
Languages
HTML
96.5%
SCSS
1.5%
CSS
1.2%
JavaScript
0.4%
Python
0.2%