Philipp Oppermann
|
fd0646fecf
|
Improve formatting
|
2019-04-26 15:29:43 +02:00 |
|
Philipp Oppermann
|
65dbb5ac48
|
Merge branch 'post-08-new' into post-09-new
|
2019-04-26 15:28:56 +02:00 |
|
Philipp Oppermann
|
62f913facc
|
Move test_main call to end of _start
|
2019-04-26 15:27:48 +02:00 |
|
Philipp Oppermann
|
6099fddd54
|
Merge branch 'post-07-new' into post-08-new
|
2019-04-26 15:26:47 +02:00 |
|
Philipp Oppermann
|
acfdf929ad
|
Move PIC initialization and interrupt::enable to blog_os::init
|
2019-04-26 15:25:41 +02:00 |
|
Philipp Oppermann
|
ad6cb02d5c
|
Merge branch 'post-06-new' into post-07-new-rebased
|
2019-04-26 15:24:28 +02:00 |
|
Philipp Oppermann
|
4774893a93
|
Call gdt::init from blog_os::init
|
2019-04-26 15:14:38 +02:00 |
|
Philipp Oppermann
|
82014268da
|
Merge branch 'post-05-new' into post-06-new-rebased
|
2019-04-26 15:05:55 +02:00 |
|
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 |
|