Reworking page-table traversal
Reworking page-table traversal
Posted May 6, 2018 17:37 UTC (Sun) by willy (subscriber, #9762)In reply to: Reworking page-table traversal by pbonzini
Parent article: Reworking page-table traversal
x86 uses 9+9+9+9+9+12 = 57 bits
Source: first result on
https://www.google.ca/search?q=zseries+page+table+site%3A...
(Hard to get a direct link to a PDF on Android)
If x86 were willing to switch to an 8k page size, 5 level paging would get them 63 bits.
Posted May 7, 2018 12:40 UTC (Mon)
by cborni (subscriber, #12949)
[Link]
Posted May 8, 2018 23:53 UTC (Tue)
by luto (guest, #39314)
[Link] (1 responses)
Intel, if you ever revamp the page table format again, here are some feature requests:
- Separate R, W, and X bits.
- Separate page table roots for the top and bottom halves of the address space. Or, even better, separate user-mode and kernel-mode page tables.
- At least one extra address space accessible with prefixes or special instructions. For example, having the stack live in a separate address space accessible only with PUSH, POP, and prefixed memory operands would be awesome.
(Hmm. There are already mostly-useless CS, SS, DS, ES, FS, and GS prefixes. Make each one refer to a separate address space. Make ES, FS, and GS be usable only at CPL0, and make CPL0 default to the ES space and CPL > 0 default to CS.)
Posted May 10, 2018 20:54 UTC (Thu)
by kiryl (subscriber, #41516)
[Link]
Why is separate roots from kernel/user useful? Is it only to protect against Meltdown-alike stuff?
Reworking page-table traversal
Reworking page-table traversal
Reworking page-table traversal