Philipp Oppermann
|
3b762cafe0
|
Add unmap assertion
|
2015-10-09 15:16:36 +02:00 |
|
Philipp Oppermann
|
51949e80eb
|
Remove old paging code
|
2015-10-09 15:14:22 +02:00 |
|
Philipp Oppermann
|
430181b9d7
|
Fix frame stack filling
|
2015-10-09 15:13:51 +02:00 |
|
Philipp Oppermann
|
bb593c2f63
|
WIP
|
2015-10-08 19:18:23 +02:00 |
|
Philipp Oppermann
|
f59b6c03d6
|
Print panic message
|
2015-10-08 18:31:16 +02:00 |
|
Philipp Oppermann
|
abd6e48c08
|
Add a dynamic growing frame stack
|
2015-10-08 01:54:46 +02:00 |
|
Philipp Oppermann
|
10ddcead2d
|
wip
|
2015-09-15 14:57:09 +02:00 |
|
Philipp Oppermann
|
d27d36fdd0
|
WIP: Add paging and section remapping code
|
2015-09-15 14:57:09 +02:00 |
|
Philipp Oppermann
|
8090c2a752
|
Page align all sections as they will be individually mapped
|
2015-09-15 14:57:09 +02:00 |
|
Philipp Oppermann
|
95d6d30c29
|
Merge multiboot section to .text section
All sections must be page aligned to set the right privileges, so we would many padding bytes otherwise.
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
23e8270a60
|
Enable the no-execute feature in page tables
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
2655ac093c
|
wip
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
812396d473
|
Add bitflags macro
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
7391a7a9eb
|
[unfinished] Add Multiboot 2 crate and load Multiboot structure
Conflicts:
Cargo.toml
src/lib.rs
Conflicts:
Cargo.toml
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
6713e55073
|
Pass Multiboot structure pointer as argument
|
2015-09-15 14:57:08 +02:00 |
|
Philipp Oppermann
|
88455c3f85
|
use vga buffer module for test output
|
2015-09-15 14:56:31 +02:00 |
|
Philipp Oppermann
|
a06577c685
|
add VGA text buffer module
|
2015-09-15 14:56:31 +02:00 |
|
Philipp Oppermann
|
9c4d057e3d
|
Don't implement lang items on testing
The `std` library is imported on testing. It already implements all lang items.
|
2015-09-15 14:51:38 +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
|
3030b1c862
|
Print Hello World!
|
2015-08-25 14:54:06 +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
|
4c793e6dd9
|
Add rlibc dependency for memset, memcpy, etc.
|
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
|
66cc22608c
|
Add a rust project
|
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 |
|