14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Version</strong> <strong>2.03</strong><br />

TLB Invalidate Entry Local<br />

tlbiel RB,L<br />

[Category: Server]<br />

X-form<br />

if L = 0<br />

then<br />

p = 12<br />

if (RB) 56 =0<br />

then pg_size 4 KB<br />

else pg_size 64 KB<br />

else<br />

pg_size page size specified in (RB) 44:51<br />

p log_base_2(pg_size)<br />

sg_size segment size specified in (RB) 54:55<br />

for each TLB entry<br />

if (entry_VA 14:77-p = (RB) 0:63-p ) &<br />

(entry_sg_size = segment_size)<br />

(entry_pg_size = pg_size)<br />

then TLB entry invalid<br />

The operation performed by this instruction is based<br />

upon the contents of RB and the L field. The contents<br />

of RB are shown below, where L is the L field in the<br />

instruction.<br />

L=0:<br />

L=1:<br />

31 /// L /// RB 274 /<br />

0 6 10 11 16 21 31<br />

VPN 0s B AP 0s<br />

0 52 54 56 57 63<br />

VPN LP 0s B 0s<br />

0 44 52 54 56 63<br />

If the L field of the instruction contains 0, RB 56 (AP -<br />

Admixed Page size field) must be set to 0 if the page<br />

size specified by the PTE that was used to create the<br />

TLB entry to be invalidated is 4 KB and must be set to 1<br />

if the page size specified by the PTE that was used to<br />

create the TLB entry to be invalidated is 64 KB. The<br />

VPN field in register RB must contain bits 14:65 of the<br />

virtual address translated by the TLB entry to be invalidated.<br />

If the L field in the instruction contains 1, the following<br />

rules apply, where c is the number of “r” bits in the LP<br />

field of the PTE that was used to create the TLB entry<br />

to be invalidated.<br />

- The page size is specified in the LP field in<br />

register RB, where the relationship between<br />

(RB) LP and the page size is the same as the<br />

relationship between PTE LP and the page size<br />

(see Figure 6). Specifically, (RB) 44+c:51<br />

must be equal to the contents of bits c:7 of the<br />

LP field of the PTE that was used to create the<br />

TLB entry to be invalidated.<br />

- (RB) 0:43+c must contain bits 14:77-p of the virtual<br />

address translated by the TLB to be invalidated,<br />

followed by p+c-20 zeros which must<br />

be ignored by the processor.<br />

Let the segment size be equal to the segment size<br />

specified in RB 54:55 (B field). The contents of RB 54:55<br />

must be the same as the contents of PTE B used to create<br />

the TLB entry to be invalidated.<br />

RB 52:53 , RB 56 (when the L field of the instruction is 1),<br />

and RB 57:63 must be set to 0s and must be ignored by<br />

the processor.<br />

All TLB entries that have all of the following properties<br />

are made invalid on the processor executing the tlbiel<br />

instruction.<br />

The entry translates a virtual address for which<br />

VA 14:77-p is equal to (RB) 0:63-p .<br />

The segment size of the entry is the same as the<br />

segment size specified in (RB) 54:55<br />

The L field in the instruction is 0, and either the<br />

page size of the entry is 4KB and (RB) 56 =0 or the<br />

page size of the entry is 64KB and (RB) 56 =1<br />

The L field of the instruction is 1 and the page size<br />

of the entry matches the page size specified in<br />

(RB) 44:51 .<br />

Only TLB entries on the processor executing the tlbiel<br />

instruction are affected.<br />

MSR SF must be 1 when this instruction is executed;<br />

otherwise the results are undefined.<br />

This instruction is privileged, and can be executed only<br />

in hypervisor state. If it is executed in privileged but<br />

non-hypervisor state either a Privileged Instruction type<br />

Program interrupt occurs or the results are boundedly<br />

undefined.<br />

See Section 5.10, “Page Table Update Synchronization<br />

Requirements” on page 436 for a description of other<br />

requirements associated with the use of this instruction.<br />

Special Registers Altered:<br />

None<br />

Programming Note<br />

The primary use of this instruction by hypervisor<br />

state code is to invalidate TLB entries prior to reassigning<br />

a processor to a new logical partition.<br />

tlbiel may be executed on a given processor even<br />

if the sequence tlbie - eieio - tlbsync - ptesync is<br />

concurrently being executed on another processor.<br />

See also the Programming Note with the description<br />

of the tlbie instruction.<br />

434<br />

<strong>Power</strong> ISA -- Book III-S

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!