Philipp Oppermann
|
5b4e457439
|
Double stack size to avoid stack overflow
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e071c24680
|
Recursive map the P4 table
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
dabef43db9
|
Reset src to master to be able to follow step-by-stp
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
b7debed3b7
|
Increase stack size to 4096*2
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
0e574426c5
|
Add recursive mapping and start describing it
|
2015-12-08 22:20:19 +01:00 |
|
Philipp Oppermann
|
88eb0636f3
|
Don't set write protect bit as we don't need it now
|
2015-11-19 15:26:58 +01:00 |
|
Philipp Oppermann
|
fc389c9e9e
|
Increase stack size to 4096
|
2015-11-15 12:00:03 +01:00 |
|
Philipp Oppermann
|
895d40cd13
|
Add section about kernel elf sections
|
2015-11-15 12:00:03 +01:00 |
|
Philipp Oppermann
|
73aa41e25e
|
Pass multiboot pointer as argument to rust_main
|
2015-11-15 12:00:03 +01:00 |
|
Philipp Oppermann
|
8789fa8531
|
Use unsigned mul instead of signed imul
|
2015-10-31 13:48:58 +01:00 |
|
Philipp Oppermann
|
2a35ec19b6
|
Use 2MiB pages instead of one 1GiB page
|
2015-10-29 17:47:21 +01:00 |
|
Philipp Oppermann
|
7b0428b07a
|
Rename multiboot section to multiboot_header
|
2015-10-27 18:42:28 +01:00 |
|
Philipp Oppermann
|
5e5374cd7d
|
Update grub.cfg to use renamed kernel file
Renaming occurred in 37b576e to be in line with the blog posts.
|
2015-10-26 16:54:45 +01:00 |
|
Philipp Oppermann
|
f670e330f5
|
Fix long mode test (fixes #6)
|
2015-10-25 01:49:42 +02:00 |
|
Philipp Oppermann
|
a39a611629
|
Wording: replace check with test
|
2015-10-25 01:48:57 +02:00 |
|
Philipp Oppermann
|
5db8977495
|
Rename main to rust_main to support testing
On testing, `std` is imported, which defines an own `main` function. Thus `cargo test` fails if there alread exists one non-mangled main.
|
2015-09-15 14:51:07 +02:00 |
|
Philipp Oppermann
|
03a46b4141
|
Print OS returned! instead of OKAY
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
e09ae042a3
|
Setup SSE because rust needs it
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
c65797d89f
|
Add an 64-bit error function
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
fcf69dcc53
|
Remove unused sections to avoid float issues
Avoids a linker error for `fmod` and `fmodf`. These functions are refenced in libcore. The KEEP ensures that the Multiboot section isn't removed.
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
3c08203437
|
Call rust main function
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
7e898e6a4c
|
Reload selector registers and print OKAY
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
9c4b8fef9d
|
Add and load a 64-bit GDT
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
457a61341a
|
Enable paging
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
b47699685f
|
Add and setup a P4 and a P3 table
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
bd11ed9a6f
|
Check for Multiboot, CPUID, and Long Mode
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
49f8c3c810
|
Add a small stack
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
d474c8fa7f
|
Add error function
|
2015-08-25 14:54:06 +02:00 |
|
Philipp Oppermann
|
0c44988b4f
|
Add grub config for iso creation
|
2015-08-13 12:48:17 +02:00 |
|
Philipp Oppermann
|
2c529d0060
|
Add a basic linker script
Ensures that the multiboot header is early in the executable.
|
2015-08-13 12:48:17 +02:00 |
|
Philipp Oppermann
|
3f530b3e83
|
Add basic boot code
It just prints a green `OK` to the screen and hangs.
|
2015-08-13 12:48:17 +02:00 |
|
Philipp Oppermann
|
cd12dc0427
|
Add multiboot 2 header file
|
2015-08-10 12:56:36 +02:00 |
|