mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
cf2c5550aab71e0e1e4eb10692fe9e769ab11534
next_table_address (#372)
Fixes #362 Fix an issue where the left shift of the old table address would overwrite the sign extension, making the address non-canonical and leading to #GPs. This calculates the correct sign extension for the new table address.
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
Additional Resources
Building
You need to have nasm, grub-mkrescue, mformat (included in mtools), xorriso, qemu, a nightly 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%