diff --git a/blog/content/second-edition/posts/10-advanced-paging/identity-mapped-page-tables.svg b/blog/content/second-edition/posts/deprecated/10-advanced-paging/identity-mapped-page-tables.svg similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/identity-mapped-page-tables.svg rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/identity-mapped-page-tables.svg diff --git a/blog/content/second-edition/posts/10-advanced-paging/index.md b/blog/content/second-edition/posts/deprecated/10-advanced-paging/index.md similarity index 98% rename from blog/content/second-edition/posts/10-advanced-paging/index.md rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/index.md index 2076cd46..0a66515d 100644 --- a/blog/content/second-edition/posts/10-advanced-paging/index.md +++ b/blog/content/second-edition/posts/deprecated/10-advanced-paging/index.md @@ -4,6 +4,9 @@ weight = 10 path = "advanced-paging" date = 2019-01-28 template = "second-edition/page.html" +[extra] +warning_short = "Deprecated: " +warning = "This post is deprecated in favor of the [_Paging Implementation_](/paging-implementation) post and will no longer receive updates. See issue [#545](https://github.com/phil-opp/blog_os/issues/545) for reasons for this deprecation." +++ This post explains techniques to make the physical page table frames accessible to our kernel. It then uses such a technique to implement a function that translates virtual to physical addresses. It also explains how to create new mappings in the page tables. @@ -28,13 +31,14 @@ However, it also causes a problem when we try to access the page tables from our The next section discusses the problem in detail and provides different approaches to a solution. Afterward, we implement a function that traverses the page table hierarchy in order to translate virtual to physical addresses. Finally, we learn how to create new mappings in the page tables and how to find unused memory frames for creating new page tables. -### Dependency Updates +### Dependency Versions -This post requires version 0.4.0 or later of the `x86_64` dependency. You can update the dependency in your `Cargo.toml`: +This post requires version 0.3.12 of the `bootloader` dependency and version 0.5.0 of the `x86_64` dependency. You can set the dependency versions in your `Cargo.toml`: ```toml [dependencies] -x86_64 = "0.4.0" # or later +bootloader = "0.3.12" +x86_64 = "0.5.0" ``` ## Accessing Page Tables diff --git a/blog/content/second-edition/posts/10-advanced-paging/qemu-new-mapping.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/qemu-new-mapping.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/qemu-new-mapping.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/qemu-new-mapping.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/qemu-translate-addr.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/qemu-translate-addr.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/qemu-translate-addr.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/qemu-translate-addr.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-1.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-1.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-1.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-1.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-2.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-2.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-2.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-2.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-3.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-3.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/recursive-page-table-access-level-3.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table-access-level-3.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/recursive-page-table.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/recursive-page-table.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/recursive-page-table.png diff --git a/blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-1.svg b/blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-1.svg similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-1.svg rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-1.svg diff --git a/blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-2.svg b/blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-2.svg similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-2.svg rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-2.svg diff --git a/blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-3.svg b/blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-3.svg similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-3.svg rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-3.svg diff --git a/blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-4.svg b/blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-4.svg similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/table-indices-from-address-recursive-level-4.svg rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/table-indices-from-address-recursive-level-4.svg diff --git a/blog/content/second-edition/posts/10-advanced-paging/temporarily-mapped-page-tables.png b/blog/content/second-edition/posts/deprecated/10-advanced-paging/temporarily-mapped-page-tables.png similarity index 100% rename from blog/content/second-edition/posts/10-advanced-paging/temporarily-mapped-page-tables.png rename to blog/content/second-edition/posts/deprecated/10-advanced-paging/temporarily-mapped-page-tables.png diff --git a/blog/content/second-edition/posts/deprecated/_index.md b/blog/content/second-edition/posts/deprecated/_index.md new file mode 100644 index 00000000..d51009a7 --- /dev/null +++ b/blog/content/second-edition/posts/deprecated/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Deprecated Posts" +sort_by = "weight" +insert_anchor_links = "left" +render = false ++++ diff --git a/blog/templates/second-edition/page.html b/blog/templates/second-edition/page.html index b99ddd1d..91b69931 100644 --- a/blog/templates/second-edition/page.html +++ b/blog/templates/second-edition/page.html @@ -10,6 +10,14 @@ {{ page.date | date(format="%b %d, %Y") }} {% if page.extra.updated %} (updated on {{ page.extra.updated | date(format="%b %d, %Y") }}) {% endif %} + + {% if page.extra.warning %} +