hashchkp
Hash Check Privileged
hashchkp RA
Checks the hash value of a memory location against a computed hash.
Details
The HashDigest function is used to compute a hash value from the contents of RA, RB, and the hypervisor privileged SPR HASHPKEYR. This instruction compares the computed hash with the doubleword in storage addressed by EA. If they are unequal, a system trap handler is invoked.
Pseudocode Operation
DW <- 32 * DX + D
d <- EXTS(0b111_1111 || DW || 0b000)
EA <- (RA) + d
temp <- HashDigest((RA), (RB), (HASHPKEYR))
temp1 <- MEM(EA, 8)
if (temp != temp1) then TRAP
Programming Note
See the Programming Notes that appear in the description of hashst and hashchk in Section 3.3.17.2 of Book I.
Example
hashchkp r4
Encoding
Binary Layout
0
0
D
6
RA
11
RB
16
DX
21
111_1111
26
DW
0b000
Operands
-
RA
Address -
RB
Source General Purpose Register -
offset
Offset to be added to the contents of RA to form the effective address EA.