Self-referencing Page Tables for the x86-Architecture

51 pointsposted 12 hours ago
by stv0g

8 Comments

voidmain

6 hours ago

I'm currently using recursive page tables for the OS I'm working on, but I'm probably going to change that. There are lots of different address spaces for different processes and (with IOMMU) devices, and it's nicer to be able to modify any of them rather than only the current one. I am leaning toward just assigning 2 MiB of memory to page tables at a time and keeping a mapping for these (I don't want to map all physical memory in the kernel for security reasons).

jdefr89

7 hours ago

Isn't this just fractal page mappings? Am I missing something?

cmpxchg8b

10 hours ago

I'm confused, is this meant to be presented as new work? Windows has done this for a very long time.

raggi

8 hours ago

I found it very opaquely worded the whole way through. I think the work being presented is simply an implementation of the technique in eduos, but short of going and reading the paper I don’t know.

als0

9 hours ago

"There is only a single reference5 dated to 2010 indicating that Microsoft might use a similar approach for its NT kernel."

cmpxchg8b

6 hours ago

Googling for it brings up a ton of results.