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
Philipp Oppermann
cf5e2715ae
Add section about translating virtual addresses
2015-12-09 15:38:45 +01:00
Philipp Oppermann
08a9743caa
Describle implementation of recursive mapping
2015-12-09 15:38:45 +01:00
Philipp Oppermann
90dba32898
Add “Mapping Page Tables” section and extract page table entry flags
2015-12-09 15:38:45 +01:00
Philipp Oppermann
6462a3263c
Add basic module and corresponding documentation
2015-12-09 15:38:33 +01:00
Philipp Oppermann
6b72dd8223
Remove Lock structure again as we changed design
2015-12-08 22:20:19 +01:00
Philipp Oppermann
f917bd67a1
Begin paging module
2015-12-08 22:20:19 +01:00
Philipp Oppermann
0e574426c5
Add recursive mapping and start describing it
2015-12-08 22:20:19 +01:00
Philipp Oppermann
38849516a1
Add preliminary outline for next post
2015-12-08 22:20:19 +01:00
Philipp Oppermann
f1f1e66dce
Improve wording (frame instead of page)
2015-12-03 18:41:51 +01:00
Philipp Oppermann
0cfb38ee6e
Merge pull request #59 from phil-opp/mac-os-note
...
Add a note about Mac OS and virtual machines
2015-11-28 18:06:41 +01:00
Philipp Oppermann
2d069d636f
Add a note about Mac OS and virtual machines
2015-11-28 18:04:37 +01:00
Philipp Oppermann
0a6a174e54
Fix broken markdown link
2015-11-24 00:18:32 +01:00
Philipp Oppermann
9b6bb7f895
Merge pull request #56 from phil-opp/qemu-warning
...
Specify `raw` ISO format explicitely to avoid QEMU warning
2015-11-24 00:10:04 +01:00
Philipp Oppermann
e52d8bcfd2
Specify raw ISO format explicitely to avoid QEMU warning
2015-11-24 00:08:34 +01:00
Philipp Oppermann
43924afbbf
Make internal links relative
2015-11-23 23:42:35 +01:00
Philipp Oppermann
5137ad103a
Merge pull request #54 from phil-opp/phil-opp-patch-1-1
...
Recommend `multirust override nighly`
2015-11-22 23:07:02 +01:00
Philipp Oppermann
84813d9b08
Recommend multirust override nighly
...
Resolves #53
2015-11-22 23:04:32 +01:00
Philipp Oppermann
cefe95dc88
Merge pull request #52 from phil-opp/remove_copy_for_frame
...
Don't derive Copy/Clone for Frame so we can be sure that it's free
2015-11-19 19:57:29 +01:00
Philipp Oppermann
a8600a00b6
Don't derive Copy/Clone for Frame so we can be sure that it's free
...
If a Frame would be clonable or even Copy, the frame could be freed (e.g. passed to deallocate_frame) and used thereafter. Or it could be freed multiple times.
2015-11-19 19:56:22 +01:00
Philipp Oppermann
c71981947b
Update URL
2015-11-19 16:07:01 +01:00
Philipp Oppermann
4e0071cf3d
Merge pull request #50 from phil-opp/fix-2
...
Don't set `write protect` bit when enabling paging
2015-11-19 15:29:26 +01:00
Philipp Oppermann
88eb0636f3
Don't set write protect bit as we don't need it now
2015-11-19 15:26:58 +01:00
Philipp Oppermann
f4c61f7634
Merge pull request #49 from phil-opp/fix-1
...
VGA buffer: `bit` instead of `byte`
2015-11-19 15:24:35 +01:00