Philipp Oppermann
|
df8335f8c7
|
Add a new blog_os::init function instead of calling init_idt directly
|
2019-04-26 14:57:14 +02:00 |
|
Philipp Oppermann
|
f301ae461a
|
Merge branch 'post-04-new' into post-05-new
|
2019-04-26 14:56:25 +02:00 |
|
Philipp Oppermann
|
48e1f72d23
|
Split off a library
|
2019-04-26 13:41:19 +02:00 |
|
Philipp Oppermann
|
46bb44b95d
|
Run cargo fmt
|
2019-04-26 13:41:19 +02:00 |
|
Philipp Oppermann
|
4cbac20b40
|
Add tests for the VGA buffer
|
2019-04-26 13:41:19 +02:00 |
|
Philipp Oppermann
|
3ecf9a9b56
|
Exit qemu on panic
|
2019-04-26 13:41:19 +02:00 |
|
Philipp Oppermann
|
1559493802
|
Print test results over serial port
|
2019-04-26 13:41:19 +02:00 |
|
Philipp Oppermann
|
dbdd46da9a
|
Exit qemu after running tests
|
2019-04-26 13:41:17 +02:00 |
|
Philipp Oppermann
|
3aa6151729
|
Add a trivial_assertion test
|
2019-04-26 13:41:07 +02:00 |
|
Philipp Oppermann
|
0beb0d80f8
|
Add a custom test runner
|
2019-04-26 13:41:07 +02:00 |
|
Philipp Oppermann
|
23cbafab1c
|
Reset code to post-03 branch
|
2019-04-26 12:44:33 +02:00 |
|
Philipp Oppermann
|
9bf4ea7341
|
Use BootInfoFrameAllocator to create a 0xdeadbeaf000 mapping
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
770af27d75
|
Create a new mapping and write through it to the screen
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
cb4410c84e
|
Update kernel_main to use MapperAllSizes::translate_addr
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
9335386928
|
Add and test a memory::translate_addr function
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
7c30d62f33
|
Also show non-empty level 3 table entries
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
61683bccda
|
Print non-empty level 4 table entries
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
e1ec5159b8
|
Add boot info argument and use entry_point macro
|
2019-03-14 10:30:37 +01:00 |
|
Philipp Oppermann
|
ef1cc0ed4f
|
Reset code to post-09 branch for new 'Paging Implementation' post
|
2019-03-14 10:20:46 +01:00 |
|
Philipp Oppermann
|
7198a4d110
|
The code for reading the level 4 table was moved to the next post
|
2019-03-12 17:49:31 +01:00 |
|
Philipp Oppermann
|
b895f8c745
|
Update code for changes in x86_64 0.5.0
|
2019-03-09 12:29:44 +01:00 |
|
Philipp Oppermann
|
a56e22b6fc
|
Use BootInfoFrameAllocator instead of EmptyFrameAllocator
|
2019-01-28 11:30:27 +01:00 |
|
Philipp Oppermann
|
741224411b
|
Use the BootInfo struct passed by the bootloader
|
2019-01-28 11:24:16 +01:00 |
|
Philipp Oppermann
|
818417d119
|
Try to create example mapping for page 0xdeadbeaf000
|
2019-01-28 11:23:46 +01:00 |
|
Philipp Oppermann
|
f272785861
|
Create example mapping for page 0x1000
|
2019-01-28 11:19:46 +01:00 |
|
Philipp Oppermann
|
f2bc2d33f0
|
Rewrite translation function on top of RecursivePageTable
|
2019-01-27 14:38:49 +01:00 |
|
Philipp Oppermann
|
38a121a887
|
Test translate_addr by translating some virtual addresses
|
2019-01-27 14:38:49 +01:00 |
|
Philipp Oppermann
|
b184f7d996
|
Move the testing code to the end of _start
|
2019-01-26 12:57:32 +01:00 |
|
Philipp Oppermann
|
abaf5bd862
|
Use PageTable struct of x86_64 crate for accessing entries
|
2019-01-25 14:29:50 +01:00 |
|
Philipp Oppermann
|
b7005b766f
|
Print first 10 entries of level 4 page table
|
2019-01-25 14:29:04 +01:00 |
|
Philipp Oppermann
|
91ca04e8c2
|
Retrieve address of level 4 page table
|
2019-01-25 14:28:23 +01:00 |
|
Philipp Oppermann
|
ada45c6e52
|
Provoke page fault
|
2019-01-25 14:27:31 +01:00 |
|
Philipp Oppermann
|
c2e4e8c96f
|
Add and use hlt_loop function
|
2019-01-25 14:21:12 +01:00 |
|
Philipp Oppermann
|
599a643d97
|
Remove deadlock provoking code again
This reverts commit 1a39774ead.
|
2019-01-25 14:14:45 +01:00 |
|
Philipp Oppermann
|
1a39774ead
|
Provoke a print! deadlock
|
2019-01-25 14:12:14 +01:00 |
|
Philipp Oppermann
|
4060ac558c
|
Add a timer interrupt handler
|
2019-01-25 14:09:12 +01:00 |
|
Philipp Oppermann
|
28a11e47bc
|
Enable hardware interrupts
|
2019-01-25 14:05:20 +01:00 |
|
Philipp Oppermann
|
6504bed810
|
Initialize the PIC
|
2019-01-25 14:04:55 +01:00 |
|
Philipp Oppermann
|
b5202e26a1
|
Load the GDT
|
2019-01-25 13:57:40 +01:00 |
|
Philipp Oppermann
|
7fd29c9cbe
|
Trigger a double fault through a stack overflow -> triple fault
|
2019-01-25 13:55:42 +01:00 |
|
Philipp Oppermann
|
218cb9399e
|
Add a double fault handler and test it
|
2019-01-25 13:54:44 +01:00 |
|
Philipp Oppermann
|
c6bd48e812
|
Load and test our new IDT
|
2019-01-25 13:51:06 +01:00 |
|
Philipp Oppermann
|
bd39105793
|
Split crate into lib.rs and main.rs
|
2019-01-25 13:44:04 +01:00 |
|
Philipp Oppermann
|
d007aae993
|
Exit qemu
|
2019-01-25 13:38:26 +01:00 |
|
Philipp Oppermann
|
c21f051300
|
Add a serial module
|
2019-01-25 13:37:20 +01:00 |
|
Philipp Oppermann
|
76a65ca3ee
|
Include the standard library for unit tests
|
2019-01-25 13:29:02 +01:00 |
|
Philipp Oppermann
|
8e74084d52
|
Silence unused import warnings for cargo test
|
2019-01-25 13:25:24 +01:00 |
|
Philipp Oppermann
|
5366fe2ff8
|
Make cargo test work
|
2019-01-25 13:24:54 +01:00 |
|
Philipp Oppermann
|
6c427e7cee
|
Print the PanicInfo on panic
|
2019-01-25 13:23:04 +01:00 |
|
Philipp Oppermann
|
c43d6191c5
|
Implement print!/println! macros
|
2019-01-25 13:22:33 +01:00 |
|