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
|
8b380f0692
|
Create a new memory module with a translate_addr function
|
2019-01-27 14:38:49 +01:00 |
|
Philipp Oppermann
|
f23ee04161
|
Merge branch 'z_post_08' into z_post_09
|
2019-01-27 14:30:32 +01:00 |
|
Philipp Oppermann
|
2031a8dc81
|
Merge branch 'z_post_07' into z_post_08
|
2019-01-27 14:29:25 +01:00 |
|
Philipp Oppermann
|
29ee6b15dd
|
Merge branch 'z_post_06' into z_post_07
|
2019-01-27 14:28:55 +01:00 |
|
Philipp Oppermann
|
15b394f0eb
|
Merge branch 'z_post_05' into z_post_06
|
2019-01-27 14:28:51 +01:00 |
|
Philipp Oppermann
|
17f2699277
|
Update to x86_64 0.4.0
|
2019-01-27 14:12:10 +01:00 |
|
Philipp Oppermann
|
b184f7d996
|
Move the testing code to the end of _start
|
2019-01-26 12:57:32 +01:00 |
|
Philipp Oppermann
|
7c07a67bf5
|
Merge branch 'z_post_08' into z_post_09
|
2019-01-25 14:47:46 +01:00 |
|
Philipp Oppermann
|
ec2da4bebd
|
Merge branch 'z_post_07' into z_post_08
|
2019-01-25 14:47:32 +01:00 |
|
Philipp Oppermann
|
90ad333e90
|
Merge branch 'z_post_06' into z_post_07
|
2019-01-25 14:46:29 +01:00 |
|
Philipp Oppermann
|
cc3a868863
|
Merge branch 'z_post_05' into z_post_06
|
2019-01-25 14:46:17 +01:00 |
|
Philipp Oppermann
|
d1545e7fbf
|
Merge branch 'z_post_04' into z_post_05
|
2019-01-25 14:46:04 +01:00 |
|
Philipp Oppermann
|
be46130322
|
Merge branch 'z_post_03' into z_post_04
|
2019-01-25 14:45:46 +01:00 |
|
Philipp Oppermann
|
afe8dc3dcf
|
Add stack overflow integration test
|
2019-01-25 14:45:02 +01:00 |
|
Philipp Oppermann
|
8bb0187f35
|
Run rustfmt
|
2019-01-25 14:44:42 +01:00 |
|
Philipp Oppermann
|
b5c05193e1
|
Document vga buffer methods
|
2019-01-25 14:39:47 +01:00 |
|
Philipp Oppermann
|
e0ed423e52
|
Explain the LLVM bug on Windows in more detail
|
2019-01-25 14:37:46 +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
|
207a466707
|
Add a page fault handler
|
2019-01-25 14:26:35 +01:00 |
|
Philipp Oppermann
|
a954c02fbe
|
Use pc-keyboard crate to translate all scancodes
|
2019-01-25 14:23:23 +01:00 |
|
Philipp Oppermann
|
895991fee3
|
Translate keycodes for keys 0-9
|
2019-01-25 14:22:25 +01:00 |
|
Philipp Oppermann
|
25796110f3
|
Read and print scancodes in keyboard interrupt handler
|
2019-01-25 14:21:49 +01:00 |
|
Philipp Oppermann
|
1d153d694e
|
Add a keyboard interrupt handler
|
2019-01-25 14:21:12 +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
|
5efcecc2f2
|
Avoid deadlock by disabling interrupts in print! and serial_print! macros
|
2019-01-25 14:14:26 +01:00 |
|
Philipp Oppermann
|
1a39774ead
|
Provoke a print! deadlock
|
2019-01-25 14:12:14 +01:00 |
|
Philipp Oppermann
|
1ea8cf6ed1
|
Send end of interrupt signal
|
2019-01-25 14:09:47 +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
|
d8edfccca4
|
Set the stack_index for the double fault handler
|
2019-01-25 14:01:29 +01:00 |
|
Philipp Oppermann
|
ff25a7d86c
|
Reload code and TSS selector registers
|
2019-01-25 13:59:09 +01:00 |
|
Philipp Oppermann
|
b5202e26a1
|
Load the GDT
|
2019-01-25 13:57:40 +01:00 |
|
Philipp Oppermann
|
ea1b031fd3
|
Create a static GDT
|
2019-01-25 13:57:08 +01:00 |
|
Philipp Oppermann
|
db4e879c34
|
Create a new GDT module and a static TSS
|
2019-01-25 13:56: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
|
b96636984c
|
Workaround an LLVM bug
|
2019-01-25 13:53:17 +01:00 |
|
Philipp Oppermann
|
b9dd088dc1
|
Create test-exception-breakpoint integration test
|
2019-01-25 13:51:39 +01:00 |
|
Philipp Oppermann
|
c6bd48e812
|
Load and test our new IDT
|
2019-01-25 13:51:06 +01:00 |
|
Philipp Oppermann
|
9448b0e025
|
Create a new IDT
|
2019-01-25 13:49:09 +01:00 |
|
Philipp Oppermann
|
ade6c99885
|
Add an interrupts module
|
2019-01-25 13:47:28 +01:00 |
|
Philipp Oppermann
|
59579108a7
|
Add test-basic-boot and test-panic integration tests
|
2019-01-25 13:45:38 +01:00 |
|
Philipp Oppermann
|
bd39105793
|
Split crate into lib.rs and main.rs
|
2019-01-25 13:44:04 +01:00 |
|