twizzler-operating-system / twizzler

The Twizzler Operating System
BSD 3-Clause "New" or "Revised" License
66 stars 13 forks source link

New page table management code #104

Closed dbittman closed 1 year ago

dbittman commented 1 year ago

This is the beginning of a series of patches that will replace the old page table code with a new set of management and manipulation routines.

The intent is that we will provide an architecture-independent set of management routines that will handle consistency and arch-dep details through a narrow interface with arch code. It should be reusable for multiple arches, while the current code is entirely bespoke.

This patch contains just the initial framework, and the kernel doesn't actually use it yet. We should nail down the requirements of both ARM and x86 to best understand what we can provide that will work with both.

One other thing I should mention: @PandaZ3D 's PR #102 includes work to replace the x86_64 crate's provided VirtAddr and PhysAddr types with our own version, and so does this patch set. Since Allen has already done the work to apply those types kernel-wide, I'll incorporate those types into this PR once #102 is merged.