slbmfev
SLB Move From Entry VSID
slbmfev RT, RB
Reads software-loaded SLB entries and places the contents of the B, VSID, Ks, Kp, N, L, C, and LP fields into register RT.
Details
This instruction is used to read software-loaded SLB entries. When LPCRUPRT=0, the entry is specified by bits 52:63 of register RB. When LPCRUPRT=1, only the first four entries can be read, so bits 52:61 of register RB are ignored. If the specified entry is valid (V=1), the contents of the B, VSID, Ks, Kp, N, L, C, and LP fields of the entry are placed into register RT.
Pseudocode Operation
if 'slbmfev' then
if LPCRUPRT=0 then
entry_index <- (RB)[52:63]
else
entry_index <- (RB)[52:61] & 0xF
end if
if SLB[entry_index].V=1 then
RT[0:1] <- SLB[entry_index].B
RT[2:51] <- SLB[entry_index].VSID
RT[52] <- SLB[entry_index].Ks
RT[53] <- SLB[entry_index].Kp
RT[54] <- SLB[entry_index].N
RT[55] <- SLB[entry_index].L
RT[56] <- SLB[entry_index].C
RT[57] <- 0b0
RT[58:59] <- SLB[entry_index].LP
RT[60:63] <- 0b0000
else
RT <- 0
end if
Programming Note
This instruction is privileged. The use of the L field is implementation specific.
Example
slbmfev r3, r5
Encoding
Binary Layout
31
0
RT
6
/
11
RB
16
851
21
/
31
Operands
-
RT
Target -
RB
Index -
RS
Source General Purpose Register