Commit Graph

1669 Commits

Author SHA1 Message Date
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
aa0a876e19 Add styling for details elements 2019-03-13 15:00:28 +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
0b6564895e Merge pull request #566 from phil-opp/x86_64-0.5.0
Update to version 0.5.0 of x86_64
2019-03-09 13:51:39 +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
Sergey Elantsev
23e2136e47 fixed Keyboard::process_keyevent link (#564) 2019-03-08 13:49:49 +01:00
Sergey Elantsev
715318707e double-faults misspell fixed (#561) 2019-03-03 11:51:22 +01:00
Philipp Oppermann
4fc9f569e2 Add scripts for updating the post-XX branches 2019-02-25 18:59:11 +01:00
Philipp Oppermann
c1428d92d5 Remove old first-edition scripts 2019-02-25 18:58:49 +01:00
Philipp Oppermann
fb02b0c340 Update Hardware Interrupts post for #557 2019-02-25 18:17:42 +01:00
esplo
a7f9477e95 fix typo: 'can used' -> 'can be used' (#559) 2019-02-18 16:30:54 +01:00
chenli
58165264c6 Fix outdated links in CPU Exceptions (#555) 2019-02-12 09:16:47 +01:00
Philipp Oppermann
746591430f [Fix] Don't run azure pipelines for PRs to master
Apply the previous commit to the right file.
2019-02-12 08:22:15 +01:00
Philipp Oppermann
b0d0dcad2c Don't run azure pipelines for PRs to master 2019-02-12 08:19:55 +01:00
Philipp Oppermann
9e090175a5 Fix level 2 table entry in figure 2019-02-11 10:31:26 +01:00
Tair Sabirgaliev
345726265b fix the integration test link (#554) 2019-02-10 00:15:23 +01:00
Philipp Oppermann
2c53bb0eb8 Merge pull request #552 from phil-opp/delete-code-from-master
Delete code from master branch
2019-02-08 10:34:17 +01:00
Philipp Oppermann
51ef14c71a Update bors.toml 2019-02-08 10:19:13 +01:00
Philipp Oppermann
df4b29acaf Don't run CI on master branch 2019-02-08 10:19:13 +01:00
Philipp Oppermann
3b23155fa4 Readme: Use bold text instead of h3 headings 2019-02-08 10:19:13 +01:00
Philipp Oppermann
59b99fa6b0 Reword Readme 2019-02-08 10:19:13 +01:00
Philipp Oppermann
381627bbbb Delete code from master branch
The code for each post now lives in the `post-XX` branches where `XX` is the post number.
2019-02-08 10:19:13 +01:00
Philipp Oppermann
aa09d2f719 The first post is now buildable on stable Rust (#551) 2019-02-07 16:24:00 +01:00
Philipp Oppermann
1f27ca5352 Clarify why we disable SSE for our kernel 2019-02-07 12:05:55 +01:00
Philipp Oppermann
131be53b1a Add missing [panic] link 2019-02-05 22:17:57 +01:00
Philipp Oppermann
cdc9448e93 Update code to current post-10 branch 2019-02-05 15:24:56 +01:00
Philipp Oppermann
47092acf8c Use repr(transparent) for vga_buffer::{ColorCode, Buffer} 2019-02-05 10:53:55 +01:00
Philipp Oppermann
87d542f7a1 Update code to current post-10 branch 2019-02-05 10:47:51 +01:00
Philipp Oppermann
403e67a795 Mention Patreon second 2019-02-04 12:52:04 +01:00
Philipp Oppermann
c8ee869941 Mention donorbox before liberapay 2019-02-04 12:36:06 +01:00
Steve Hess
82f249ca6f fix broken links in VGA buffer post (#546) 2019-02-04 11:46:32 +01:00
azure-pipelines[bot]
426cd9b6a6 Set up CI with Azure Pipelines (#548) 2019-02-03 15:37:43 +01:00
Philipp Oppermann
6fe331397c Update translate_addr code example
This makes the function safe again because no level 4 address is passed in. It also avoids bit-shifts which only work if the recursive index is 0o777.
2019-02-03 14:34:36 +01:00
Philipp Oppermann
8306f3e2da Note in Advanced Paging post that x86_64>=0.4.0 is required 2019-02-03 13:37:57 +01:00
Aaron Hill
0c5e303175 Make translate_addr unsafe (#544)
This function casts a usize argument to a pointer, and dereferences it.
This is undefined behavior unless level_4_table_addr is the address of a
valid PageTable, so the function should be marked 'unsafe'
2019-02-01 12:39:14 +01:00
Philipp Oppermann
b9ff59fd75 Add a note about the rename of FrameAllocator::allocate_frame 2019-01-29 08:52:17 +01:00
Philipp Oppermann
8b279bf34b Fix memory addresses in code example 2019-01-29 08:41:03 +01:00
Philipp Oppermann
a238fe99a9 Fix source code link for "Advanced Paging" post 2019-01-28 14:02:26 +01:00
Philipp Oppermann
2905fbe647 Merge pull request #539 from phil-opp/advanced-paging
New post: "Advanced Paging"
2019-01-28 13:16:36 +01:00