Commit Graph

331 Commits

Author SHA1 Message Date
Philipp Oppermann
2377c0a579 Restructure: Create a new Running our Kernel section 2019-04-26 12:08:41 +02:00
Philipp Oppermann
24e06d8978 Create a .cargo/config file that sets the default target
Instead of setting a bootimage default target.
2019-04-25 13:12:29 +02:00
Philipp Oppermann
3a3a76466c Use bootimage 0.7.3 2019-04-25 12:27:27 +02:00
Philipp Oppermann
f2335e8e72 Add a note that there must be no spaces in features string 2019-04-17 18:49:23 +02:00
Philipp Oppermann
ac16f2ed55 Link if let and shadowing chapters under keyboard code 2019-04-15 14:10:34 +02:00
Philipp Oppermann
0b9ca84735 Rewrite "A Freestanding Rust Binary" (#577)
- solve linker errors by compiling for thumbv7em-none-eabihf
- make old section about linker arguments optional content
- use different linker arguments on Windows and macOS to use the `_start` entry point on all OSs
- Add an (optional) section that explains how to set linker arguments in .cargo/config
- Add an (optional) section that discourages the linker arguments approach and recommends the `#[start]` attribute instead
- reorganize section levels
2019-04-11 15:28:51 +02:00
Philipp Oppermann
6015feb511 Update 'Paging Implementation' post for bootloader 0.5.1 2019-04-06 17:49:31 +02:00
Philipp Oppermann
b8667c45dd Update "Minimal Rust Kernel" to new bootloader 0.5.1 and bootimage 0.7.2 2019-04-06 16:46:10 +02:00
Philipp Oppermann
6eb9c83345 Spell out post-* branch names in posts 2019-04-03 12:12:48 +02:00
Philipp Oppermann
0605fc54df Move the ToC of Paging Implementation after the aside 2019-03-19 13:24:41 +01:00
Philipp Oppermann
48d96243ea Add an inline table of contents to all posts 2019-03-19 13:01:25 +01:00
Philipp Oppermann
cc0f68448b Fix swapped changelog links 2019-03-15 10:46:30 +01:00
Philipp Oppermann
fc5fd7f86b Remove unneeded into_iter call in Paging Implementation post 2019-03-14 13:21:02 +01:00
Philipp Oppermann
82256aaa2f Use zola's page_template feature 2019-03-14 12:58:10 +01:00
Philipp Oppermann
c655a61290 Point bootloader doc links to version 0.4.0 2019-03-14 11:20:48 +01:00
Philipp Oppermann
7b88ebcaf6 Update bootloader dependency in post to 0.4.0 2019-03-14 11:20:36 +01:00
Philipp Oppermann
b496f835dc Set publish date 2019-03-14 10:13:04 +01:00
Philipp Oppermann
5ce8eabffb Fix code link to current HEAD of post-10 branch
The code in the post-10 branch will be replaced with the code of the new "Paging Implementation" post.
2019-03-13 15:10:32 +01:00
Philipp Oppermann
c069cdde69 Minor improvements 2019-03-13 15:01:07 +01:00
Philipp Oppermann
c734bc472f Link to the page table flag list of the previous post 2019-03-13 15:01:07 +01:00
Philipp Oppermann
42d94c3d50 Fix missing imports in code examples 2019-03-13 15:01:07 +01:00
Philipp Oppermann
154f10c3a0 Add missing unsafe in code example 2019-03-13 15:01:07 +01:00
Philipp Oppermann
1041754c71 Provide more context in code example 2019-03-13 15:01:07 +01:00
Philipp Oppermann
b8a3bb44df Simplify the active_level_4_table function 2019-03-13 15:01:07 +01:00
Philipp Oppermann
23e70e0e9c Add a second temporary mapping to figure to make things clearer 2019-03-13 15:01:07 +01:00
Philipp Oppermann
f34725de85 Fix grammar 2019-03-13 15:01:07 +01:00
Philipp Oppermann
15668849d2 Minor fixes 2019-03-13 15:01:07 +01:00
Philipp Oppermann
8efa53761e Cleanup: remove replaced content from Advanced Paging post 2019-03-13 15:01:07 +01:00
Philipp Oppermann
a72810e1ab Rewrite and extend introduction 2019-03-13 15:01:07 +01:00
Philipp Oppermann
409527caca Deprecate the Advanced Paging post 2019-03-13 15:01:07 +01:00
Philipp Oppermann
bf66b29225 Update images 2019-03-13 15:01:07 +01:00
Philipp Oppermann
96f543b2d4 Finish implementation section 2019-03-13 15:01:07 +01:00
Philipp Oppermann
053b2d3c23 Complete section about translating addresses 2019-03-13 15:01:07 +01:00
Philipp Oppermann
d09dd7ff1f Begin implementation section 2019-03-13 15:01:07 +01:00
Philipp Oppermann
4197382855 Resolve some TODOs and other minor improvements 2019-03-13 15:01:07 +01:00
Philipp Oppermann
d0e995d221 Update the Accessing Page Tables section 2019-03-13 15:01:07 +01:00
Philipp Oppermann
cb6d46a582 Require x86_64 0.5.0 and bootloader 0.4.0 2019-03-13 15:01:07 +01:00
Philipp Oppermann
fee3e34378 Create Bootloader Support section 2019-03-13 15:01:07 +01:00
Philipp Oppermann
c3abefd745 Begin restructuring the post
- Add page table access code from previous post
- Make each page table access technique its own subsection
- Make details of recursive paging optional
  - Add short codesnippets how to implement recursive paging
- Add disadvantages of recursive paging
2019-03-13 15:01:07 +01:00
Philipp Oppermann
b19e350dc4 Create a copy of the advanced paging post 2019-03-13 15:01:07 +01:00
Philipp Oppermann
7e4c8285dd Move images 2019-03-13 15:01:07 +01:00
Philipp Oppermann
8d54b92ded Update paging introduction post to not use the recursive address
The upcoming breaking version of the bootloader will not create a recursive mapping unless requested through a cargo feature. So we move the last section to the next post where we introduce these cargo features.
2019-03-13 15:01:07 +01:00
Philipp Oppermann
ddbe36c0dc Update x86_64 to version 0.5.2
This is required for the upcomping _Paging Implementation_ post.
2019-03-12 17:47:58 +01:00
Philipp Oppermann
9011a8a123 Use the new MapperAllSizes::translate_addr function in Post 10 2019-03-09 13:46:55 +01:00
Philipp Oppermann
4c68f8a541 The int3 function was moved into the interrupts submodule 2019-03-09 13:18:46 +01:00
Philipp Oppermann
8ea576263c Update x86_64 to version 0.5.0 2019-03-09 13:16:46 +01:00
Philipp Oppermann
d2852ce966 ExceptionStackFrame was renamed to InterruptStackFrame 2019-03-09 13:13:40 +01:00
Philipp Oppermann
b95ec88e4f Update x86_64 doc links to version 0.5.0 2019-03-09 13:13:40 +01:00
Antoine
c14d1db833 🎨 format hex numbers to improve readability (#565) 2019-03-08 15:48:50 +01:00
Antoine
3a3bb7fb38 ✏️ fix typos (#563)
`create_example_mapping` was written `create_mapping` in several lines
2019-03-08 13:50:58 +01:00