Commit Graph

424 Commits

Author SHA1 Message Date
Philipp Oppermann
87b8fc6a29 Merge pull request #68 from phil-opp/update_tag
Rename tag to `modifying_page_tables`
2015-12-14 00:03:03 +01:00
Philipp Oppermann
ce5c4b970a Rename tag to modifying_page_tables 2015-12-14 00:00:32 +01:00
Philipp Oppermann
807e8110be Merge pull request #67 from phil-opp/grammar-set_up
Fix grammar: `set up` instead of `setup`
2015-12-13 19:36:00 +01:00
Philipp Oppermann
c0439cf194 Fix Grammar
`set up` not `setup`
2015-12-13 18:53:15 +01:00
Philipp Oppermann
26fc76fbda Merge pull request #65 from phil-opp/move-setup-SSE
Move `setup_SSE` to boot.asm
2015-12-12 15:03:13 +01:00
Philipp Oppermann
953704f103 Move setup_SSE to boot.asm 2015-12-12 15:00:14 +01:00
Philipp Oppermann
e272cc9257 Merge pull request #62 from phil-opp/fix-1
Use a more expressive variable name
2015-12-10 16:59:18 +01:00
Philipp Oppermann
617c92d017 Use a more expressive variable name 2015-12-10 16:55:54 +01:00
Philipp Oppermann
5cc6f9ec4b Merge pull request #61 from phil-opp/paging-module
New post about accessing and modifying page tables
2015-12-09 16:23:27 +01:00
Philipp Oppermann
3a82ca32cd Publish Accessing and Modifying Page Tables post 2015-12-09 16:18:16 +01:00
Philipp Oppermann
9366db272c Finish introduction and other TODOs 2015-12-09 16:14:25 +01:00
Philipp Oppermann
b3cb09ba8d Add short conclusion 2015-12-09 15:46:15 +01:00
Philipp Oppermann
329a64c9a1 Some small improvements 2015-12-09 15:46:15 +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
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