Skip to content
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

Huge pages support for x86 #1016

Open
wants to merge 11 commits into
base: theseus_main
Choose a base branch
from

Conversation

NIMogen
Copy link
Contributor

@NIMogen NIMogen commented Jul 24, 2023

PR as requested. Higher level page table entries (such as p2) are always marked as used for some reason.
Just a draft as this is a WIP and not actually ready yet.

@kevinaboos kevinaboos changed the title Issues with higher level entries in mapper Huge pages support for x86 Jul 26, 2023
@kevinaboos
Copy link
Member

As discussed on discord, I can reproduce the error, which is caused by not using a range of pages and frames that are properly aligned to a 2MiB boundary.

Copy link
Member

@kevinaboos kevinaboos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great start, thanks Noah! Now that the major functionality is working, I left lots of comments about style, correctness, using the type system & generics to their fullest effect, etc.

Please feel free to ask follow-up questions if you're confused or disagree with my comments, either here or on discord.

Also, I know this is a volunteer project for you, so if you don't have time or the desire to make some or all of these changes on your own, please let me know what you don't want to tackle, and I can definitely take over those changes (or a subset of them) myself.

kernel/pte_flags/src/pte_flags_x86_64.rs Show resolved Hide resolved
kernel/pte_flags/src/pte_flags_x86_64.rs Outdated Show resolved Hide resolved
kernel/page_allocator/src/lib.rs Outdated Show resolved Hide resolved
kernel/page_allocator/src/lib.rs Outdated Show resolved Hide resolved
kernel/page_allocator/src/lib.rs Outdated Show resolved Hide resolved
kernel/memory/src/paging/mapper.rs Outdated Show resolved Hide resolved
kernel/memory/src/paging/mapper.rs Outdated Show resolved Hide resolved
kernel/page_allocator/src/lib.rs Outdated Show resolved Hide resolved
kernel/memory/src/paging/mapper.rs Outdated Show resolved Hide resolved
applications/test_1gb_huge_pages/Cargo.toml Outdated Show resolved Hide resolved
@NIMogen NIMogen reopened this Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants