in which the VHPT is enabled, the operating system is required to maintain a per-region
linear page table. As defined in
the region's preferred page size, and the PTA.size field to compute a linear index into
the short-format VHPT.
Figure 4-14.
Mask = (1 << PTA.size) - 1;
VHPT_Offset = (VA{IMPL_VA_MSB:0} u>> RR[VA{63:61}].ps) << 3;
VHPT_Addr = (VA{63:61} << 61) |
(((PTA{60:15} & ~Mask{60:15}) | (VHPT_Offset{60:15} &
VHPT_Offset{14:0};
The size of the short-format VHPT (PTA.size) defines the size of the mapped virtual
address space. The maximum architectural table size in the short format is 2
per region. To map an entire region (2
pages must be mappable. A short-format VHPT entry is 8 bytes = 2
result, the maximum table size is 2
is used to map an address space smaller than 2
(PTA.size<52) can be used. Mapping of an address space of 2
requires a minimum PTA.size of (n-9).
In the short format, the thash instruction returns the region-based short-format index
defined in
translation and TLB miss faults write the IHA register with the region-based
short-format index defined in
4.1.6.2
Long-format VHPT Hash
The long-format VHPT is a single large contiguous hash table that resides in the region
defined by PTA.base. As defined in
address, the region identifier, the region's preferred page size, and the PTA.size field to
compute a hash index into the long-format VHPT. PTA{63:15} defines the base address
and the region of the long-format VHPT. PTA.size reflects the size of the hash table, and
is typically set to a number significantly smaller than 2
operating system performance requirements.
Figure 4-15.
Mask = (1 << PTA.size) - 1;
HPN = VA{IMPL_VA_MSB:0} u>> RR[VA{63:61}].ps;
Hash_Index = tlb_vhpt_hash_long(HPN,RR[VA{63:61}].rid);
// model-specific hash function
VHPT_Offset = Hash_Index << 5;
VHPT_Addr = (PTA{63:61} << 61) |
(((PTA{60:15} & ~Mask{60:15}) | (VHPT_Offset{60:15}
& Mask{60:15})) << 15) | VHPT_Offset{14:0};
The long-format hash function (tlb_vhpt_hash_long) and long-format tag generation
function are implementation specific. However, on all processor models the hash and
tag functions must exclude the virtual region number (virtual address bits VA{63:61})
from the hash and tag computations. This ensures that a unique 85-bit global virtual
address hashes to the same VHPT hash address, regardless of which region the address
is mapped to. All processor implementations guarantee that the most significant bit of
2:66
Figure
Region-based VHPT Short-format Index Function
Mask{60:15})) << 15) |
Figure
4-14. The ttag instruction is not used with the short format. VHPT
Figure
VHPT Long-format Hash Function
4-14, the VHPT walker uses the virtual address,
61
bytes) using 4Kbyte pages, 2
(61-12+3)
52
= 2
bytes per region. If the short format
61
, a smaller short-format table
4-14.
Figure
4-15, the VHPT walker uses the virtual
64
; the exact number is based on
Volume 2, Part 1: Addressing and Protection
52
bytes
(61-12)
49
= 2
3
bytes large. As a
n
with 4KByte pages
Need help?
Do you have a question about the ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 and is the answer not in the manual?
Questions and answers