slbfee.

SLB Find Entry ESID

slbfee. RT,RB

Searches the SLB for an entry that matches the effective address specified by register RB.

Details

The SLB is searched for an entry that matches the effective address specified by register RB. If exactly one matching entry is found, the contents of the B, VSID, Ks, Kp, N, L, C, and LP fields of the entry are placed into register RT. If no matching entry is found, register RT is set to 0. If more than one matching entry is found, either one of the matching entries is used, or a Machine Check occurs.

Pseudocode Operation

if LPCRUPRT=1 then
    // Instruction is nonfunctional
else
    search SLB for entry matching (RB)0:63-s
    if exactly one match found then
        RT <- B | VSID | KsKpNLC | LP
    else if no match found then
        RT <- 0
    else
        // More than one match, Machine Check occurs
end

Programming Note

The contents of registers RT and RB are interpreted as shown below. RT0:1 B RT2:51 VSID RT52 Ks RT53 Kp RT54 N RT55 L RT56 C RT57 set to 0b0 RT58:59 LP RT60:63 set to 0b0000 RB0:35 ESID RB36:39 must be 0b0000 RB40:63 must be 0x000000 If s > 28, RT80-s:51 are set to zeros. On implementations that support a virtual address size of only n bits, n < 78, RT2:79-n are set to zeros. CR Field 0 is set as follows. j is a 1-bit value that is equal to 0b1 if a matching entry was found. Otherwise, j is 0b0. When LPCRUPRT̸=0, j=0b0. CR0LT GT EQ SO = 0b00 || j || XERSO

Example

slbfee. r3, r5

Encoding

Binary Layout
0
0
RT
6
RB
11
18
16
1
21
 
Format X-form
Opcode 0x7C0007A7
Extension Base
Registers Altered CR0, XER

Operands

  • RT
    Target General Purpose Register
  • RB
    Source General Purpose Register