Philipp Oppermann
|
a9e5b7fd28
|
Update license headers
|
2015-12-29 12:31:25 +01:00 |
|
Philipp Oppermann
|
b39bb643dd
|
Rename RecursivePageTable to ActivePageTable
|
2015-12-25 13:14:14 +01:00 |
|
Rafal Mielniczuk
|
337799599a
|
Fix HierachicalLevel typo
|
2015-12-20 15:52:14 +01:00 |
|
Philipp Oppermann
|
14166b3a35
|
Remove old features
|
2015-12-20 15:40:43 +01:00 |
|
Philipp Oppermann
|
165e6ebff8
|
Run rustfmt
|
2015-12-20 15:05:08 +01:00 |
|
Philipp Oppermann
|
6e60552e87
|
Rename test_* functions to check_*
|
2015-12-14 01:03:55 +01:00 |
|
Philipp Oppermann
|
7e83931746
|
The Iterator::min_by was renamed to min_by_key
|
2015-12-14 00:08:54 +01:00 |
|
Philipp Oppermann
|
22014eb38d
|
The no_std attribute is stable now
|
2015-12-14 00:03:55 +01:00 |
|
Philipp Oppermann
|
c0439cf194
|
Fix Grammar
`set up` not `setup`
|
2015-12-13 18:53:15 +01:00 |
|
Philipp Oppermann
|
953704f103
|
Move setup_SSE to boot.asm
|
2015-12-12 15:00:14 +01:00 |
|
Philipp Oppermann
|
617c92d017
|
Use a more expressive variable name
|
2015-12-10 16:55:54 +01:00 |
|
Philipp Oppermann
|
75264e7cac
|
Fix unmap function by flushing the TLB
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
8bb09f47f8
|
Test unmap function
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
cf5ea7664e
|
Test map_to function
|
2015-12-09 15:46:15 +01:00 |
|
Philipp Oppermann
|
5b4e457439
|
Double stack size to avoid stack overflow
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
786e1d5cab
|
Test translate function
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d8c6b6f5b7
|
Add and call test_paging function
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
4fd8891aff
|
Add (buggy) unmap function
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d52c79b106
|
Add map and identity_map functions
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
86d8e99271
|
Make translate and map_to safe by making them RecursivePageTable methods
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
fb7d2d22b6
|
Add RecursivePageTable as an owner for the P4 table
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
46b93e0650
|
Add unsafe map_to function and make translate unsafe, too
These functions are unsafe because it's possible to get aliased &mut references.
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e84344f59a
|
Add function to translate virtual to physical address
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d267ac1c98
|
Define the next_table methods only for P4, P3, and P2 tables
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e5a4114262
|
Add unsafe next_table methods
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
e071c24680
|
Recursive map the P4 table
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
96b0dc0c66
|
Model page tables
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
14384fb27f
|
Model page table entries
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
d827f51bb6
|
Create basic paging module
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
dabef43db9
|
Reset src to master to be able to follow step-by-stp
|
2015-12-09 15:46:14 +01:00 |
|
Philipp Oppermann
|
bd00921dac
|
Use expect instead of unwrap
|
2015-12-09 15:42:45 +01:00 |
|
Philipp Oppermann
|
15427b363a
|
Take page by value in mapping functions
(there is no reason to borrow it at the moment)
|
2015-12-09 15:42:45 +01:00 |
|
Philipp Oppermann
|
b314d4827f
|
Move Frame::start_address to memory/mod.rs and use it in identity_map()
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
6ed376112d
|
PAGE_SIZE is already defined in memory/mod.rs
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
557738e705
|
Add a RecursivePageTable::new function
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
92194d8354
|
Remove unused feature and import
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
05873d9dae
|
Improve next_table_create
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
c5fac2647e
|
Merge lock.rs into mod.rs
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
f912dfa506
|
Improve huge_page closure
|
2015-12-09 15:42:44 +01:00 |
|
Philipp Oppermann
|
cdaad86a06
|
Change semantics of start_address and containing_address
The page numbers now respect the memory hole between higher and lower half.
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
c52f58cc4c
|
Rename and use is_unused()
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
b1a2c8caad
|
Rename PhantomData field
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
e88de41914
|
Calculate next_table_address through directly through addresses
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
4a54a24145
|
Reorganize imports
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
799067f8b1
|
Add Frame::start_address
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
51f83717d6
|
Use Frame::containing_address
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
7e5da6c897
|
Modify pointed_frame to return an Option
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
6535aa017d
|
Add lock module (name is temporary)
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
6c5b932fbc
|
Split translate into translate_page and rest
|
2015-12-09 15:38:46 +01:00 |
|
Philipp Oppermann
|
44fd5f682d
|
Some new test printlns
|
2015-12-09 15:38:46 +01:00 |
|