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
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
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
84813d9b08
Recommend multirust override nighly
...
Resolves #53
2015-11-22 23:04:32 +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
88eb0636f3
Don't set write protect bit as we don't need it now
2015-11-19 15:26:58 +01:00
Philipp Oppermann
0e31d4a221
Fix #48
2015-11-19 15:23:25 +01:00
Philipp Oppermann
25122bc05c
Correct the reason for using clone
2015-11-16 15:01:39 +01:00
Amit Levy
fc55d6dc06
Small grammar nit in "Entering Longmode" post
...
'a' vs 'an'
2015-11-15 14:17:27 -05:00
Amit Levy
a1d744cf5a
Fix typo in "Entering long mode"
...
I think there is a typo in the section describing how the P2 mapping is set up. The corresponding code sets _P2_'s third entry.
2015-11-15 13:55:58 -05:00
Philipp Oppermann
ced6edbdd1
Discuss alternative frame stack designs
2015-11-15 17:13:20 +01:00
Philipp Oppermann
f997f1f0f0
Small wording improvement
2015-11-15 12:00:03 +01:00
Philipp Oppermann
96cee9ab2b
Link github repository
2015-11-15 12:00:03 +01:00
Philipp Oppermann
5de4255fca
Add a conclusion to the allocating frames post
2015-11-15 12:00:03 +01:00
Philipp Oppermann
78c2fd6acc
Many small improvements
2015-11-15 12:00:03 +01:00
Philipp Oppermann
28c56f2c06
Publish Allocating Frames post
2015-11-15 12:00:03 +01:00
Philipp Oppermann
18d397b48d
Some improvements to the allocating frames post
2015-11-15 12:00:03 +01:00
Philipp Oppermann
a8580ad3a2
Fix: next_free_frame must be increased to the start of the current area
2015-11-15 12:00:03 +01:00
Philipp Oppermann
6ce34f5e2b
Add introduction
2015-11-15 12:00:03 +01:00
Philipp Oppermann
d0cf5e7c61
Link from Printing to Screen
2015-11-15 12:00:03 +01:00
Philipp Oppermann
ca07527ede
Add What's next? text
2015-11-15 12:00:03 +01:00
Philipp Oppermann
cf835e19ae
Recommend Eric Kidd's Bare Metal Rust series
2015-11-15 12:00:03 +01:00
Philipp Oppermann
939d33efce
Many improvements to allocating frames post
2015-11-15 12:00:03 +01:00
Philipp Oppermann
16078431db
Add basic description for frame allocator methods
2015-11-15 12:00:03 +01:00
Philipp Oppermann
8304439c82
Add a FrameAllocator trait
2015-11-15 12:00:03 +01:00
Philipp Oppermann
a2047bc70a
Add an AreaFrameAllocator
2015-11-15 12:00:03 +01:00
Philipp Oppermann
6f8a21eba6
Create a memory module with a Frame struct
2015-11-15 12:00:03 +01:00
Philipp Oppermann
ccaa2ed645
Add section about start and end of kernel/multiboot
2015-11-15 12:00:03 +01:00
Philipp Oppermann
718db100cd
Add let bindings for tags
2015-11-15 12:00:03 +01:00
Philipp Oppermann
f2b91d3d61
Improve panic handler
2015-11-15 12:00:03 +01:00
Philipp Oppermann
fc389c9e9e
Increase stack size to 4096
2015-11-15 12:00:03 +01:00
Philipp Oppermann
2d1c801c72
Rename post to Allocating Frames
2015-11-15 12:00:03 +01:00
Philipp Oppermann
895d40cd13
Add section about kernel elf sections
2015-11-15 12:00:03 +01:00
Philipp Oppermann
33fdbce530
Print available memory areas using multiboot info
2015-11-15 12:00:03 +01:00
Philipp Oppermann
73aa41e25e
Pass multiboot pointer as argument to rust_main
2015-11-15 12:00:03 +01:00
Philipp Oppermann
d07530d660
Rename new post to Remapping the Kernel
2015-11-15 12:00:03 +01:00
Philipp Oppermann
a54b2d8f47
Remove detailed description of multiboot structures
...
Instead, we will use the external crate `multiboot2-elf64` at https://github.com/phil-opp/multiboot2-elf64 . The removed parts were added to its README for documentation
2015-11-15 12:00:03 +01:00
Philipp Oppermann
c064de5190
Add description of info struct and elf tag
2015-11-15 12:00:03 +01:00