Nulik
Nulik

Reputation: 7360

can TLB map 4K, 2M and 1GB pages at the same time?

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

Answers (1)

ughoavgfhw
ughoavgfhw

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

Related Questions