Commit Graph

53 Commits

Author SHA1 Message Date
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
Philipp Oppermann
1f074264c0 Rename and restructure multiboot info post 2015-11-15 12:00:03 +01:00
Philipp Oppermann
4d59d7350c Add skeleton for next post 2015-11-15 12:00:03 +01:00
Philipp Oppermann
65b4b4f027 Mention -C no-redzone in the Setup Rust post 2015-11-15 10:58:01 +01:00
Philipp Oppermann
6d05d4513c Replace wildcards in dependencies with a lower bound 2015-11-13 18:05:03 +01:00