Reputation: 7360
In x86-64, long mode, do the recent Intel/AMD microprocessors allow TLB to convert virtual to physical addresses of pages 4K, 2MB and 1GB (huge page) at the same time?
As I understand after reading the manuals, it is possible if you set:
bit PDPE.PS=1 in a few records in Page Directory Pointer Table to mark 1GB pages
bit PDPE.PS=0 and PDE.PS=1 in a few records in Page Directory Table to mark 2MB pages
bit PDPE.PS=0 and PDE.PS=0 in a few records in Page Directory Table to mark 4K pages
But I have never tried it, so before I start coding, could you tell me if it will work?
Upvotes: 1
Views: 623
Reputation: 39905
Yes, you can use different sizes at the same time. I think this is just a typo, but your question indicates PDPE.PS=0 and PDE.PS=1
for both the 2MB and 4kB pages. For the 4kB pages, both page size bits should be 0.
Upvotes: 1