Philipp Oppermann
8854b6b751
Move hlt_loop up to keep cfg(test) functions together
2019-04-26 15:25:41 +02:00
Philipp Oppermann
51cdc4db8b
Use hlt_loop in lib.rs too
2019-04-26 15:25:41 +02:00
Philipp Oppermann
ae93dc18c3
Fix race condition in test_println_output test
2019-04-26 15:25:41 +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
3c59321b54
Remove old bootimage test integration test
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
a5b6422785
Add a test for the breakpoint exception
2019-04-26 14:57:14 +02:00
Philipp Oppermann
b7eefae5f9
Delete old bootimage test integration tests
2019-04-26 14:57:14 +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
2e5f192f35
Make exit_qemu safe
2019-04-26 13:42:20 +02:00
Philipp Oppermann
48e1f72d23
Split off a library
2019-04-26 13:41:19 +02:00
Philipp Oppermann
d0629ba5a2
Import serial_println only in test mode
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
1ed76411f7
Fix remaining use of ExceptionStackFrame in test
2019-03-09 14:21:03 +01:00
Philipp Oppermann
09dd68a1a2
Update post-08 code for changes in x86_64 0.5.0
2019-03-09 12:37:45 +01:00
Philipp Oppermann
81e4eec055
Merge branch 'post-07' into post-08
2019-03-09 12:36:39 +01:00
Philipp Oppermann
8e5b6a3e3f
Update post-07 code for changes in x86_64 0.5.0
2019-03-09 12:34:49 +01:00
Philipp Oppermann
be0ed3a54d
Merge branch 'post-06' into post-07
2019-03-09 12:32:03 +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
7b61da94a0
Run cargo fmt
2019-02-25 17:04:25 +01:00
Antoine
babf9d8cce
Introduce an InterruptIndex enum ( #557 )
...
The following modifications aim to group the hardware interrupts' indexes in an easily accessible structure, while being more friendly to eventual evolutions.
* the hardware interrupts' indexes `TIMER_INTERRUPT_ID` and `KEYBOARD_INTERRUPT_ID` have been replaced by the attributes `Timer` and `Keyboard` contained in `enum InterruptIndex`.
* only the first attribute `Timer` is explicitly declared, the following as inferred by the compiler.
* the functions `as_u8` and `as_usize` avoid the need of casts to `u8` or `usize`.
2019-02-12 19:28:24 +01:00
Philipp Oppermann
3bb30fd1e8
Merge branch 'post-06' into post-07
2019-02-05 10:45:12 +01:00
Philipp Oppermann
62e2cee989
Merge branch 'post-05' into post-06
2019-02-05 10:45:12 +01:00
Philipp Oppermann
8f18fb4282
Merge branch 'post-07' into post-08
2019-02-05 10:45:12 +01:00
Philipp Oppermann
69ab78108b
Merge branch 'post-04' into post-05
2019-02-05 10:45:12 +01:00
Philipp Oppermann
2db616bd7d
Merge branch 'post-03' into post-04
2019-02-05 10:45:11 +01:00
Philipp Oppermann
af0b258279
Make vga_buffer::{ScreenChar, Buffer} repr(transparent)
2019-02-05 10:44:52 +01:00
Philipp Oppermann
519f47286c
Merge branch 'post-07' into post-08
2019-01-28 11:51:03 +01:00
Philipp Oppermann
f76ec1ae32
Only set double fault handler once
2019-01-28 11:50:59 +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
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