Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
e088c0f
Separate QEMU run and bootloader building
GglLfr Jun 27, 2026
df6d2e3
Compile the kernel as PIE
GglLfr Jun 27, 2026
c15b00f
Actually it's working
GglLfr Jun 27, 2026
ba14ea6
Get PIE working, again
GglLfr Jun 28, 2026
f515e0a
Buddy tree initial impl
GglLfr Jun 28, 2026
d182bf6
Physical allocator initial impl
GglLfr Jun 28, 2026
13ba8dd
Nothing is working
GglLfr Jun 29, 2026
cd9b99e
Move all virtual mapping to kernel
GglLfr Jun 29, 2026
0abc9d0
Go back to static references
GglLfr Jun 29, 2026
dc69df3
Make everything work, actually
GglLfr Jun 29, 2026
85c99a2
Nothing is working
GglLfr Jun 29, 2026
d5cfc04
Everything works
GglLfr Jun 29, 2026
1eb0a7a
You don't work.
GglLfr Jun 29, 2026
5f7f61d
Maybe I was harsh to you, UEFI
GglLfr Jun 29, 2026
2e31278
Make the diff leaner
GglLfr Jun 29, 2026
942be74
Get log working
GglLfr Jun 29, 2026
3a2ad30
Symbol relocations, physical tree allocator
GglLfr Jun 30, 2026
5ad8f29
Physical page allocator is now ready
GglLfr Jun 30, 2026
a69d3a3
Restore OVMF
GglLfr Jun 30, 2026
dc5e523
Map the framebuffer
GglLfr Jun 30, 2026
214d0c2
Force phys alloc only 1
GglLfr Jun 30, 2026
fe98cb8
Don't confuse module name with extern crate alloc
GglLfr Jul 1, 2026
92602a8
Clean up lib.rs
GglLfr Jul 1, 2026
c8fbb4d
Direct mapping with a constant offset
GglLfr Jul 5, 2026
a609b71
Completely get rid of recursive mapping
GglLfr Jul 5, 2026
1ac0725
\n
GglLfr Jul 5, 2026
75c3c74
Apparently there was absolutely no need for explicit RIP-relative add…
GglLfr Jul 5, 2026
bc2b35f
Global descriptor table
GglLfr Jul 1, 2026
b1a0fb6
Handle page faults
GglLfr Jul 1, 2026
af98f67
Handle double faults
GglLfr Jul 1, 2026
3f3e61e
Maybe i shouldn't touch these, actually
GglLfr Jul 1, 2026
df0a139
Remove test
GglLfr Jul 5, 2026
722635a
Handle page faults
GglLfr Jul 1, 2026
ea472b0
Parse ACPI headers
GglLfr Jul 2, 2026
221914b
Use a trait-based parser
GglLfr Jul 2, 2026
91dbeaa
Don't use self type
GglLfr Jul 2, 2026
8d87a79
Parse XSDT tables
GglLfr Jul 2, 2026
ddc69c4
Glorious ACPI API
GglLfr Jul 2, 2026
9af9a09
Replace SystemTableTyped into its own corresponding types
GglLfr Jul 2, 2026
59c0b9e
Parse MADT table
GglLfr Jul 3, 2026
ecdfc9c
Cleaner macros
GglLfr Jul 3, 2026
497240d
Leave things be for now
GglLfr Jul 5, 2026
6f7cd5d
Fix more conflicts
GglLfr Jul 5, 2026
fc7800e
Slot allocator
GglLfr Jul 6, 2026
bcfb638
Use slab allocator for GDT
GglLfr Jul 8, 2026
16860e8
Why are you here bruh
GglLfr Jul 8, 2026
db11fd5
Use slab allocator for GDT
GglLfr Jul 8, 2026
58f7d3b
Fix bugs
GglLfr Jul 8, 2026
cea5934
Calculate kernel_base
GglLfr Jul 8, 2026
3ed4a97
Separate MemoryTypes
GglLfr Jul 8, 2026
a4a14b1
Use 16-bit address for page table
GglLfr Jul 8, 2026
da9bd69
Make it usable in lib
GglLfr Jul 8, 2026
b7246cb
Preparing for APIC
GglLfr Jul 8, 2026
424ba39
Send INIT signal to AP cores
GglLfr Jul 8, 2026
44bb772
AP cores now at protected mode
GglLfr Jul 8, 2026
1faee6d
Just delay once
GglLfr Jul 8, 2026
b0d38f5
Better offsets
GglLfr Jul 8, 2026
541afb7
AP Cores are now at long mode
GglLfr Jul 8, 2026
8eea6df
Begone ASM dump
GglLfr Jul 8, 2026
87c59da
All AP cores now at long mode and have interrupts
GglLfr Jul 8, 2026
97b696e
Disable writing after mapping
GglLfr Jul 8, 2026
4252d03
Symmetric Multiprocessing
GglLfr Jul 9, 2026
8b0ad16
Get rid of handles, work with addresses directly
GglLfr Jul 9, 2026
72bee47
Deallocation
GglLfr Jul 9, 2026
f208a3a
Don't bother with allocator closures
GglLfr Jul 9, 2026
134e7d4
Why was cld here
GglLfr Jul 9, 2026
19d46f6
Uninitialized allocation
GglLfr Jul 9, 2026
5a78692
Slab drop
GglLfr Jul 9, 2026
c2b03c1
CPU local context
GglLfr Jul 9, 2026
dbd7a5e
Draw to framebuffer with multiple cores
GglLfr Jul 9, 2026
404b9d9
Global for everything because screw Meltdown
GglLfr Jul 9, 2026
1d780b4
Merge pull request #7 from ThePythonGuy3/interrupts
GglLfr Jul 9, 2026
8da3b87
Merge branch 'acpi' into pie
GglLfr Jul 9, 2026
b6fea1b
syscall clobbers rcx
GglLfr Jul 9, 2026
d25f5bc
Userspace program entry
GglLfr Jul 9, 2026
b172290
Begone debugging
GglLfr Jul 9, 2026
79fbb76
Preparing for heap allocator
GglLfr Jul 11, 2026
7f674d2
Use u64 for bitset
GglLfr Jul 11, 2026
2a53f1f
Segment allocation
GglLfr Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,20 @@ lto = "thin"

[profile.bootloader_debug]
inherits = "bootloader"
strip = "none"
debug-assertions = true
debug = "full"
lto = "off"

[target.x86_64-unknown-none]
rustflags = ["-C", "code-model=kernel", "-C", "relocation-model=static"]
rustflags = [
"-C",
"code-model=kernel",
"-C",
"relocation-model=pie",
"-C",
"linker-flavor=ld.lld",
]

[target.x86_64-unknown-elpytios]
rustflags = ["-Z", "codegen-backend=llvm", "-C", "link-arg=-Map=linker.map"]
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
/*.exe
/*.pdb
/*.log

/target
/esp
*.qcow2

/Cargo.lock
/rustc-ice-*
Loading