IBM SA14-2339-04 Personal Computer User Manual


 
9-188 PPC405 Core User’s Manual
tlbwe
TLB Write Entry
tlbwe
TLB Write Entry
if WS
4
= 1
TLBLO[(RA
26:31
)] (RS)
else
TLBHI[(RA
26:31
)] (RS)
TID of TLB[(RA
26:31
)] (PID
24:31
)
The contents of the selected TLB entry is replaced with the contents of register RS (and possibly
PID).
Bits 26:31 of the contents of RA are used as an index into the TLB. If this index specifies a TLB entry
that does not exist, the results are undefined.
The WS field specifies which portion (TLBHI or TLBLO) of the entry is replaced from RS. For
instructions that specify TLBHI, the TID field in the TLB entry is supplied from PID
24:31.
If the WS field is not 0 or 1, the instruction form is invalid and the result is undefined.
If instruction bit 31 contains 1, the contents of CR[CR0] are undefined.
Registers Altered
None.
Invalid Instruction Forms
Reserved fields
Invalid WS value
Programming Notes
This instruction is privileged. Translation is not required to be active during the execution of this
instruction.
The effects of this update are not guaranteed to be visible to the programming model until the
completion of a context synchronizing operation. For example, updating a zone selection field within
the TLB while in supervisor code should be followed by an isync instruction (or other context
synchronizing operation) to guarantee that the desired translation and protection domains are used.
tlbwe writes the TLB fields from RS and the PID as follows:
If WS = 0 (TLBHI):
EPN[0:21] RS[0:21]
SIZE[0:2] RS[22:24]
V RS[25]
E RS[26]
U0 RS[27]
TID[0:7] PID[24:31]; (note that the TID is written from the PID, not RS)
tlbwe RS, RA, WS
31 RS RA WS 978
0 6 11 16 21 31