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
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
e5dfbd4b23
Merge branch 'post-09' into post-10
2019-01-28 11:51:35 +01:00
Philipp Oppermann
4e6ce8d16e
Merge branch 'post-08' into post-09
2019-01-28 11:51:23 +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
a56e22b6fc
Use BootInfoFrameAllocator instead of EmptyFrameAllocator
2019-01-28 11:30:27 +01:00
Philipp Oppermann
67f536d7c6
Add a BootInfoFrameAllocator
2019-01-28 11:28:51 +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
5d807ee622
Run rustfmt
2019-01-28 11:19:34 +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
8b380f0692
Create a new memory module with a translate_addr function
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
7c07a67bf5
Merge branch 'z_post_08' into z_post_09
2019-01-25 14:47:46 +01:00