From 9037941ddc2bada88d1df344c6b0b425b25b75ee Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Mon, 14 Jan 2019 14:28:47 +0100 Subject: [PATCH] Use PNG instead of SVG for address image The SVG renders incorrectly in Chrome. See https://github.com/phil-opp/blog_os/pull/517#discussion_r247489190 . --- .../posts/09-paging-introduction/index.md | 2 +- .../x86_64-page-table-translation-addresses.png | Bin 0 -> 17939 bytes .../x86_64-page-table-translation-addresses.svg | 0 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 blog/content/second-edition/posts/09-paging-introduction/x86_64-page-table-translation-addresses.png rename blog/{content/second-edition/posts/09-paging-introduction => diagrams}/x86_64-page-table-translation-addresses.svg (100%) diff --git a/blog/content/second-edition/posts/09-paging-introduction/index.md b/blog/content/second-edition/posts/09-paging-introduction/index.md index 08f7805e..bc35151c 100644 --- a/blog/content/second-edition/posts/09-paging-introduction/index.md +++ b/blog/content/second-edition/posts/09-paging-introduction/index.md @@ -156,7 +156,7 @@ The physical address of the currently active level 4 page table, which is the ro The above page table hierarchy maps two pages (in blue). From the page table indices we can deduce that the virtual addresses of these two pages are `0x803FE7F000` and `0x803FE00000`. Let's see what happens when the program tries to read from address `0x803FE7F5CE`. First, we convert the address to binary and determine the page table indices and the page offset for the address: -![The sign extension bits are all 0, the level 4 index is 1, the level 3 index is 0, the level 2 index is 511, the level 1 index is 127, and the page offset is 0x5ce](x86_64-page-table-translation-addresses.svg) +![The sign extension bits are all 0, the level 4 index is 1, the level 3 index is 0, the level 2 index is 511, the level 1 index is 127, and the page offset is 0x5ce](x86_64-page-table-translation-addresses.png) With these indices, we can now walk the page table hierarchy to determine the mapped frame for the address: diff --git a/blog/content/second-edition/posts/09-paging-introduction/x86_64-page-table-translation-addresses.png b/blog/content/second-edition/posts/09-paging-introduction/x86_64-page-table-translation-addresses.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ca4a88dd1e20444c705c158b2d1ab7e203aa0e GIT binary patch literal 17939 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 K=d#Wzp$PzpQ8+XJ literal 0 HcmV?d00001 diff --git a/blog/content/second-edition/posts/09-paging-introduction/x86_64-page-table-translation-addresses.svg b/blog/diagrams/x86_64-page-table-translation-addresses.svg similarity index 100% rename from blog/content/second-edition/posts/09-paging-introduction/x86_64-page-table-translation-addresses.svg rename to blog/diagrams/x86_64-page-table-translation-addresses.svg