-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Draft] Pagetable with no function overriding for adopting stable rust #349
base: main
Are you sure you want to change the base?
[Draft] Pagetable with no function overriding for adopting stable rust #349
Conversation
a052623
to
391a3f7
Compare
Signed-off-by: Changho Choi <[email protected]>
- Pass build errors with is_root - Pass root level in macros Signed-off-by: Changho Choi <[email protected]>
Signed-off-by: Changho Choi <[email protected]>
Signed-off-by: Changho Choi <[email protected]>
391a3f7
to
8cb70b8
Compare
Signed-off-by: Changho Choi <[email protected]>
fbcc7c7
to
15917e9
Compare
I fully understand your motivation. However, level managment seems to be more of PageTable's role rather than Entry's. |
Should we look at how other Rust-based OS projects deal with page table management, in the context of 1) using a minimal number of unsafe keyword, 2) using stable rust as much as possible? That might help to some extent. (Also, I'm curious about how other people do this stuff) |
Our code is inspired by https://os.phil-opp.com/page-tables/. |
The purpose of this change is removing
function overriding
(specialization feature) in the page table implementation which prevents us from using astable rust
.Level
trait bound instruct PageTable
, which is the main place forfunction overriding
, has been removed.This PR is just for the reference; it is not aimed to be merged, because it is not the final form of page table I have in mind.
[before]
[after]