From b3cb09ba8d687387cda6eec3498895be1443bc44 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Wed, 9 Dec 2015 15:25:57 +0100 Subject: [PATCH] Add short conclusion --- posts/DRAFT-paging.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/posts/DRAFT-paging.md b/posts/DRAFT-paging.md index 14082d52..cc8aa70c 100644 --- a/posts/DRAFT-paging.md +++ b/posts/DRAFT-paging.md @@ -878,6 +878,16 @@ So to fix our `unmap` function, we need to remove the cached translation from th ``` Now the desired page fault occurs even when we access the page before. +## Conclusion +This post has become pretty long. So let's summarize what we've done: + +- we created a paging module and modeled page tables plus entries +- we mapped the P4 page recursively and created `next_table` methods +- we used empty enums and associated types to make the `next_table` functions safe +- we wrote a function to translate virtual to physical addresses +- we created safe functions to map and unmap pages +- and we fixed stack overflow and TLB related bugs + ## What's next? In the next post we will extend this module and add a function to modify inactive page tables. Through that function, we will create a new page table hierarchy that maps the kernel correctly using 4KiB pages. Then we will switch to the new table to get a safer kernel environment.