Commit Graph

  • ff38d2aec9 Update blog to f00366d09f travis-update-bot 2015-12-16 11:38:43 +00:00
  • f00366d09f Merge pull request #75 from phil-opp/rename-paging-post Philipp Oppermann 2015-12-16 12:35:58 +01:00
  • de50b37443 Change title to Page Tables Philipp Oppermann 2015-12-16 12:26:53 +01:00
  • 5ee4fd1e4b Use Writing an OS in Rust title in atom feed Philipp Oppermann 2015-12-14 01:40:46 +01:00
  • 34b126b370 Update blog to bb0bd73584 travis-update-bot 2015-12-14 00:10:28 +00:00
  • bb0bd73584 Merge pull request #72 from phil-opp/fix-1 Philipp Oppermann 2015-12-14 01:08:28 +01:00
  • 6e60552e87 Rename test_* functions to check_* Philipp Oppermann 2015-12-14 00:59:08 +01:00
  • 2c6b8aed4f Delete old setup rust post Philipp Oppermann 2015-12-14 00:25:45 +01:00
  • 5e94142e7c Update blog to 3c6057dd76 travis-update-bot 2015-12-13 23:16:29 +00:00
  • 3c6057dd76 Merge pull request #71 from phil-opp/rename-min_by Philipp Oppermann 2015-12-14 00:14:13 +01:00
  • 14f2f1a967 Update blog to 7675a08ebe travis-update-bot 2015-12-13 23:10:42 +00:00
  • 7e83931746 The Iterator::min_by was renamed to min_by_key Philipp Oppermann 2015-12-13 19:15:02 +01:00
  • 7675a08ebe Merge pull request #70 from phil-opp/stable-no_std Philipp Oppermann 2015-12-14 00:08:30 +01:00
  • 2f637887e3 Update blog to 87b8fc6a29 travis-update-bot 2015-12-13 23:05:06 +00:00
  • 22014eb38d The no_std attribute is stable now Philipp Oppermann 2015-12-13 19:10:26 +01:00
  • 87b8fc6a29 Merge pull request #68 from phil-opp/update_tag Philipp Oppermann 2015-12-14 00:03:03 +01:00
  • ce5c4b970a Rename tag to modifying_page_tables Philipp Oppermann 2015-12-13 19:01:25 +01:00
  • fb4669eaca Update blog to 807e8110be travis-update-bot 2015-12-13 18:42:35 +00:00
  • 807e8110be Merge pull request #67 from phil-opp/grammar-set_up Philipp Oppermann 2015-12-13 19:36:00 +01:00
  • c0439cf194 Fix Grammar Philipp Oppermann 2015-12-13 18:53:15 +01:00
  • 6f62dc6709 Update blog to 26fc76fbda travis-update-bot 2015-12-12 14:05:05 +00:00
  • 26fc76fbda Merge pull request #65 from phil-opp/move-setup-SSE Philipp Oppermann 2015-12-12 15:03:13 +01:00
  • 953704f103 Move setup_SSE to boot.asm Philipp Oppermann 2015-12-12 14:21:15 +01:00
  • 9c76819466 Fix numbering of bits Philipp Oppermann 2015-12-07 16:59:27 +01:00
  • a605b9f822 Update blog to e272cc9257 travis-update-bot 2015-12-10 16:01:40 +00:00
  • e272cc9257 Merge pull request #62 from phil-opp/fix-1 Philipp Oppermann 2015-12-10 16:59:18 +01:00
  • 617c92d017 Use a more expressive variable name Philipp Oppermann 2015-12-10 16:55:54 +01:00
  • 4461e9c3c7 Update blog to 5cc6f9ec4b travis-update-bot 2015-12-09 15:28:11 +00:00
  • 5cc6f9ec4b Merge pull request #61 from phil-opp/paging-module Philipp Oppermann 2015-12-09 16:23:27 +01:00
  • 3a82ca32cd Publish Accessing and Modifying Page Tables post Philipp Oppermann 2015-12-09 16:18:16 +01:00
  • 9366db272c Finish introduction and other TODOs Philipp Oppermann 2015-12-09 16:14:25 +01:00
  • b3cb09ba8d Add short conclusion Philipp Oppermann 2015-12-09 15:25:57 +01:00
  • 329a64c9a1 Some small improvements Philipp Oppermann 2015-12-09 15:25:24 +01:00
  • 75264e7cac Fix unmap function by flushing the TLB Philipp Oppermann 2015-12-09 15:03:29 +01:00
  • 8bb09f47f8 Test unmap function Philipp Oppermann 2015-12-09 14:35:46 +01:00
  • cf5ea7664e Test map_to function Philipp Oppermann 2015-12-09 13:45:39 +01:00
  • 5b4e457439 Double stack size to avoid stack overflow Philipp Oppermann 2015-12-09 13:15:22 +01:00
  • 786e1d5cab Test translate function Philipp Oppermann 2015-12-09 12:20:50 +01:00
  • d8c6b6f5b7 Add and call test_paging function Philipp Oppermann 2015-12-09 12:08:41 +01:00
  • 4fd8891aff Add (buggy) unmap function Philipp Oppermann 2015-12-09 01:30:25 +01:00
  • d52c79b106 Add map and identity_map functions Philipp Oppermann 2015-12-09 01:06:41 +01:00
  • 86d8e99271 Make translate and map_to safe by making them RecursivePageTable methods Philipp Oppermann 2015-12-09 01:01:32 +01:00
  • fb7d2d22b6 Add RecursivePageTable as an owner for the P4 table Philipp Oppermann 2015-12-09 00:55:53 +01:00
  • 46b93e0650 Add unsafe map_to function and make translate unsafe, too Philipp Oppermann 2015-12-09 00:51:34 +01:00
  • e84344f59a Add function to translate virtual to physical address Philipp Oppermann 2015-12-09 00:34:19 +01:00
  • d267ac1c98 Define the next_table methods only for P4, P3, and P2 tables Philipp Oppermann 2015-12-09 00:21:10 +01:00
  • e5a4114262 Add unsafe next_table methods Philipp Oppermann 2015-12-09 00:12:55 +01:00
  • e071c24680 Recursive map the P4 table Philipp Oppermann 2015-12-09 00:10:50 +01:00
  • 96b0dc0c66 Model page tables Philipp Oppermann 2015-12-08 22:47:39 +01:00
  • 14384fb27f Model page table entries Philipp Oppermann 2015-12-08 22:15:32 +01:00
  • d827f51bb6 Create basic paging module Philipp Oppermann 2015-12-08 22:14:42 +01:00
  • dabef43db9 Reset src to master to be able to follow step-by-stp Philipp Oppermann 2015-12-07 18:33:53 +01:00
  • 9019309d40 Many wording improvements Philipp Oppermann 2015-12-09 02:07:48 +01:00
  • 9f509aec80 Improve post and rewrite recursive mapping section Philipp Oppermann 2015-12-09 01:32:24 +01:00
  • fd42d634ad Change title and add some incomplete introduction variants Philipp Oppermann 2015-12-07 18:23:13 +01:00
  • 2b8838459c Add image sources Philipp Oppermann 2015-12-07 17:53:01 +01:00
  • bf6bcdcc82 Add paging introduction Philipp Oppermann 2015-12-07 17:43:51 +01:00
  • fac58a003a Describe unwrap function Philipp Oppermann 2015-12-07 15:24:23 +01:00
  • 57fbd2efc5 Specify some imports Philipp Oppermann 2015-12-07 15:24:06 +01:00
  • bd00921dac Use expect instead of unwrap Philipp Oppermann 2015-12-07 15:23:18 +01:00
  • 67b30314c4 Use relative links for images Philipp Oppermann 2015-12-07 14:07:00 +01:00
  • e331a6610b Describe p*_index functions Philipp Oppermann 2015-12-07 11:07:38 +01:00
  • 15427b363a Take page by value in mapping functions Philipp Oppermann 2015-12-07 11:01:22 +01:00
  • b314d4827f Move Frame::start_address to memory/mod.rs and use it in identity_map() Philipp Oppermann 2015-12-07 10:56:26 +01:00
  • 6ed376112d PAGE_SIZE is already defined in memory/mod.rs Philipp Oppermann 2015-12-07 10:55:20 +01:00
  • a279609c26 Add images, TODOs, RecursivePageTable::new, and many improvements Philipp Oppermann 2015-12-07 02:34:52 +01:00
  • 557738e705 Add a RecursivePageTable::new function Philipp Oppermann 2015-12-07 02:34:07 +01:00
  • 92194d8354 Remove unused feature and import Philipp Oppermann 2015-12-06 17:43:59 +01:00
  • 05873d9dae Improve next_table_create Philipp Oppermann 2015-12-06 17:43:39 +01:00
  • c5fac2647e Merge lock.rs into mod.rs Philipp Oppermann 2015-12-06 17:43:18 +01:00
  • 5113fce8f7 Big update and many new sections... Philipp Oppermann 2015-12-06 17:29:10 +01:00
  • f912dfa506 Improve huge_page closure Philipp Oppermann 2015-12-06 14:58:43 +01:00
  • 4aeda180a1 Remove old content and add skeletons for new sections Philipp Oppermann 2015-12-05 01:03:00 +01:00
  • cdaad86a06 Change semantics of start_address and containing_address Philipp Oppermann 2015-12-05 01:01:33 +01:00
  • c52f58cc4c Rename and use is_unused() Philipp Oppermann 2015-12-05 01:00:13 +01:00
  • bd05aa7715 Add section about type system magic Philipp Oppermann 2015-12-04 19:41:23 +01:00
  • b1a2c8caad Rename PhantomData field Philipp Oppermann 2015-12-04 19:41:00 +01:00
  • 7005cd7819 Start rewriting post for new design Philipp Oppermann 2015-12-04 16:24:56 +01:00
  • e88de41914 Calculate next_table_address through directly through addresses Philipp Oppermann 2015-12-04 16:24:23 +01:00
  • 4a54a24145 Reorganize imports Philipp Oppermann 2015-12-04 13:38:41 +01:00
  • 799067f8b1 Add Frame::start_address Philipp Oppermann 2015-12-04 13:35:40 +01:00
  • 51f83717d6 Use Frame::containing_address Philipp Oppermann 2015-12-04 13:15:37 +01:00
  • 7e5da6c897 Modify pointed_frame to return an Option Philipp Oppermann 2015-12-04 13:11:18 +01:00
  • 2d9b619587 Begin updating post Philipp Oppermann 2015-12-04 11:53:08 +01:00
  • 6535aa017d Add lock module (name is temporary) Philipp Oppermann 2015-12-04 11:52:44 +01:00
  • 6c5b932fbc Split translate into translate_page and rest Philipp Oppermann 2015-12-04 11:50:42 +01:00
  • 44fd5f682d Some new test printlns Philipp Oppermann 2015-12-03 21:20:38 +01:00
  • a8df7b2e4d Finish basics of new paging module Philipp Oppermann 2015-12-03 21:17:18 +01:00
  • 562221d725 Add some unstable features and some printing tests Philipp Oppermann 2015-12-03 18:40:10 +01:00
  • b7debed3b7 Increase stack size to 4096*2 Philipp Oppermann 2015-12-03 18:39:34 +01:00
  • 204a9d9c9d Add some sections (now outdated) Philipp Oppermann 2015-12-03 18:39:04 +01:00
  • c7fe1348f0 Old attempts for a new design Philipp Oppermann 2015-12-03 18:38:15 +01:00
  • ace53fad91 Updates for the old paging code Philipp Oppermann 2015-12-03 18:36:53 +01:00
  • ae49ab5072 Add alternative paging module with new design Philipp Oppermann 2015-12-03 17:27:53 +01:00
  • 540c398ec3 Alternative, more advanced design Philipp Oppermann 2015-11-30 16:29:39 +01:00
  • 907f51bb5b Add section about modifying table entries Philipp Oppermann 2015-11-30 12:43:00 +01:00
  • 882af6f14e Make p{1,2,3}_table functions unsafe Philipp Oppermann 2015-11-30 12:24:32 +01:00
  • cf5e2715ae Add section about translating virtual addresses Philipp Oppermann 2015-11-29 20:05:17 +01:00
  • 08a9743caa Describle implementation of recursive mapping Philipp Oppermann 2015-11-29 19:26:25 +01:00
  • 90dba32898 Add “Mapping Page Tables” section and extract page table entry flags Philipp Oppermann 2015-11-29 18:46:34 +01:00