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
e9344ae046
Remove unneeded into_iter() in init_frame_allocator
2019-03-14 13:20:26 +01:00
Philipp Oppermann
9bf4ea7341
Use BootInfoFrameAllocator to create a 0xdeadbeaf000 mapping
2019-03-14 10:30:37 +01:00
Philipp Oppermann
a1bf5651fc
Create an init_frame_allocator function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
763228c859
Create a generic BootInfoFrameAllocator type
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
3e59283c19
Create an EmptyFrameAllocator
2019-03-14 10:30:37 +01:00
Philipp Oppermann
6146ccba2d
Add a memory::create_example_mapping function
2019-03-14 10:30:37 +01:00
Philipp Oppermann
b0e1527a95
Delete our memory::translate_addr function again
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
98b5976656
Create a memory::init function that initializes a MappedPageTable
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
e387c0b6b8
Create a memory::active_level_4_table function
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
1ed76411f7
Fix remaining use of ExceptionStackFrame in test
2019-03-09 14:21:03 +01:00
Philipp Oppermann
10c4d0509d
Update post-10 code for changes in x86_64 0.5.0
...
We no longer need a custom translate function as we can directly use MapperAllSizes::translate_addr.
2019-03-09 12:40:27 +01:00
Philipp Oppermann
57998ea4f8
Merge branch 'post-09' into post-10
2019-03-09 12:39:25 +01:00
Philipp Oppermann
f05aaeb0ac
Update post-09 code for changes in x86_64 0.5.0
2019-03-09 12:39:14 +01:00
Philipp Oppermann
78a30984bc
Merge branch 'post-08' into post-09
2019-03-09 12:38:25 +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
ef9a629ddc
Merge branch 'post-09' into post-10
2019-02-25 17:04:56 +01:00
Philipp Oppermann
18d8d311cb
Merge branch 'post-08' into post-09
2019-02-25 17:04:40 +01:00
Philipp Oppermann
7b61da94a0
Run cargo fmt
2019-02-25 17:04:25 +01:00
Philipp Oppermann
36d6c6d0e9
Merge branch 'post-09' into post-10
2019-02-12 19:31:09 +01:00
Philipp Oppermann
76d3715eef
Merge branch 'post-08' into post-09
2019-02-12 19:31:09 +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
0a10b3e784
Merge branch 'post-09' into post-10
2019-02-05 10:45:12 +01:00
Philipp Oppermann
9617680e45
Merge branch 'post-08' into post-09
2019-02-05 10:45:12 +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