Volume 3: Instruction Reference
3:265
thash
thash — Translation Hashed Entry Address
Format:
(
qp
) thash
r
1
=
r
3
Description:
A Virtual Hashed Page Table (VHPT) entry address is generated based on the specified
virtual address and the result is placed in GR
r
1
. The virtual address is specified by GR
r
3
and the region register selected by GR
r
3
bits {63:61}.
If
thash
is given a NaT input argument or an unimplemented virtual address as an
input, the resulting target register value is undefined, and its NaT bit is set to one.
When the processor is configured to use the region-based short format VHPT
(PTA.vf=0), the value returned by
thash
is defined by the architected short format
hash function. See
Section 4.1.5.3, “Region-based VHPT Short Format” on page 2:63
When the processor is configured to use the long format VHPT (PTA.vf=1),
thash
performs an implementation-specific long format hash function on the virtual address
to generate a hash index into the long format VHPT.
In the long format, a translation in the VHPT must be uniquely identified by its hash
index generated by this instruction and the hash tag produced from the
ttag
instruction.
The hash function must use all implemented region bits and only virtual address bits
{60:0} to determine the offset into the VHPT. Virtual address bits {63:61} are used
only by the short format hash to determine the region of the VHPT.
This instruction must be implemented on all processor models, even processor models
that do not implement a VHPT walker.
This instruction can only be executed when PSR.vm is 0.
Operation:
if (PR[
qp
]) {
check_target_register(
r
1
);
if (PSR.vm == 1)
virtualization_fault();
if (GR[
r
3
].nat || unimplemented_virtual_address(GR[
r
3
], PSR.vm)) {
GR[
r
1
] = undefined();
GR[
r
1
].nat = 1;
} else {
tmp_vr = GR[
r
3
]{63:61};
tmp_va = GR[
r
3
]{60:0};
GR[
r
1
] = tlb_vhpt_hash(tmp_vr, tmp_va, RR[tmp_vr].rid,
RR[tmp_vr].ps);
GR[
r
1
].nat = 0;
}
}
Interruptions:
Illegal Operation fault
Virtualization fault
Содержание Itanium 9150M
Страница 1: ......
Страница 209: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault...
Страница 301: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 405: ...3 396 Volume 3 Resource and Dependency Semantics...
Страница 406: ...3 397 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index...
Страница 407: ...3 398 Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 419: ...INDEX Index 12 Index for Volumes 1 2 3 and 4...
Страница 420: ......