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

feat(x86_64::paging): Implement paging & kernel remap #103

Merged
merged 223 commits into from
May 28, 2017
Merged

Conversation

hawkw
Copy link
Member

@hawkw hawkw commented May 28, 2017

This PR adds a working implementation of paging and remapping the kernel into the high address space on x86_64! 🍾

Note that interrupts had to be re-disabled temporarily because of issues from #78 that I'm still looking into.

This PR also includes a number of changes to the elf and alloc crates that were necessary to get paging working correctly. It doesn't finish the whole "allocator rewrite" project, but it brings us further along.

Paging issues:

Allocator issues:

Also makes some progress on issues #31, #73, #76, and #84.

screen shot 2017-05-28 at 12 41 04 pm

hawkw added 30 commits June 11, 2016 13:23
 + Frame renamed to PhsyicalPage
 + Delete unused Entry module
this implementation is Bad and Needs To Be Fixed
hawkw added 19 commits May 27, 2017 18:41
This may not be the Right Way to do this, but it works for now &
prevents crashes.
this is Not Ideal, but it's a temp workaround for bugs in the CPU crate.
It needs to be double-checked for correctness.
So the user can know Something Is Happening!
Some of these were deleted a while ago but `git merge` decided we wanted
them back
@hawkw hawkw added area/alloc Area: this issue concerns memory allocation. area/elf Area: this issue describes ELF parsing and loading. kind/feature Kind: this issue is a feature. area/kernel Area: this issue relates to the core kernel. arch/x86_64 Architecture: this issue is specific to the x86_64 (amd64) architecture. labels May 28, 2017
@hawkw hawkw added this to the Paging milestone May 28, 2017
@hawkw hawkw self-assigned this May 28, 2017
@hawkw
Copy link
Member Author

hawkw commented May 28, 2017

This should probably increment the version numbers on alloc, paging, memory, elf, and the main kernel. Possibly also cpu -- I should see if any API changes in there are permanent.

@hawkw
Copy link
Member Author

hawkw commented May 28, 2017

Note that this PR adds the paging and params crates, which will add more crates to the task lists on #86 and #102

@hawkw hawkw merged commit 929dd83 into master May 28, 2017
@hawkw hawkw deleted the paging-dev branch June 18, 2017 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch/x86_64 Architecture: this issue is specific to the x86_64 (amd64) architecture. area/alloc Area: this issue concerns memory allocation. area/elf Area: this issue describes ELF parsing and loading. area/kernel Area: this issue relates to the core kernel. kind/feature Kind: this issue is a feature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant