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
 
Format X-form
Opcode 0x7C0005A2
Extension Privileged
Registers Altered HASHPKEYR

Operands

  • RA
    Address
  • RB
    Source General Purpose Register
  • offset
    Offset to be added to the contents of RA to form the effective address EA.