Commit Graph

297 Commits

Author SHA1 Message Date
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
9019309d40 Many wording improvements 2015-12-09 15:46:14 +01:00
Philipp Oppermann
9f509aec80 Improve post and rewrite recursive mapping section 2015-12-09 15:46:14 +01:00
Philipp Oppermann
fd42d634ad Change title and add some incomplete introduction variants 2015-12-09 15:44:17 +01:00
Philipp Oppermann
2b8838459c Add image sources 2015-12-09 15:42:45 +01:00
Philipp Oppermann
bf6bcdcc82 Add paging introduction 2015-12-09 15:42:45 +01:00
Philipp Oppermann
fac58a003a Describe unwrap function 2015-12-09 15:42:45 +01:00
Philipp Oppermann
57fbd2efc5 Specify some imports 2015-12-09 15:42:45 +01:00
Philipp Oppermann
bd00921dac Use expect instead of unwrap 2015-12-09 15:42:45 +01:00
Philipp Oppermann
67b30314c4 Use relative links for images 2015-12-09 15:42:45 +01:00
Philipp Oppermann
e331a6610b Describe p*_index functions 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
a279609c26 Add images, TODOs, RecursivePageTable::new, and many improvements 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
5113fce8f7 Big update and many new sections... 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
4aeda180a1 Remove old content and add skeletons for new sections 2015-12-09 15:42:36 +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
bd05aa7715 Add section about type system magic 2015-12-09 15:38:46 +01:00
Philipp Oppermann
b1a2c8caad Rename PhantomData field 2015-12-09 15:38:46 +01:00
Philipp Oppermann
7005cd7819 Start rewriting post for new design 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
2d9b619587 Begin updating post 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
Philipp Oppermann
a8df7b2e4d Finish basics of new paging module 2015-12-09 15:38:46 +01:00
Philipp Oppermann
562221d725 Add some unstable features and some printing tests 2015-12-09 15:38:46 +01:00
Philipp Oppermann
b7debed3b7 Increase stack size to 4096*2 2015-12-09 15:38:46 +01:00
Philipp Oppermann
204a9d9c9d Add some sections (now outdated) 2015-12-09 15:38:46 +01:00
Philipp Oppermann
c7fe1348f0 Old attempts for a new design 2015-12-09 15:38:46 +01:00
Philipp Oppermann
ace53fad91 Updates for the old paging code 2015-12-09 15:38:46 +01:00
Philipp Oppermann
ae49ab5072 Add alternative paging module with new design 2015-12-09 15:38:45 +01:00
Philipp Oppermann
540c398ec3 Alternative, more advanced design 2015-12-09 15:38:45 +01:00
Philipp Oppermann
907f51bb5b Add section about modifying table entries 2015-12-09 15:38:45 +01:00
Philipp Oppermann
882af6f14e Make p{1,2,3}_table functions unsafe 2015-12-09 15:38:45 +01:00