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 />

ing the ptesync instruction are performed with<br />

respect to that processor or mechanism.<br />

7. There are additional software synchronization<br />

requirements for this instruction in multiprocessor<br />

environments (e.g., it may be necessary to invalidate<br />

one or more TLB entries on all processors in<br />

the multiprocessor system and to be able to determine<br />

that the invalidations have completed and<br />

that all side effects of the invalidations have taken<br />

effect).<br />

Section 5.10 gives examples of using tlbie, Store,<br />

and related instructions to maintain the Page<br />

Table, in both multiprocessor and uniprocessor<br />

environments.<br />

Programming Note<br />

In a multiprocessor system, if software locking<br />

is used to help ensure that the requirements<br />

described in Section 5.10 are satisfied, the<br />

lwsync instruction near the end of the lock<br />

acquisition sequence (see Section B.2.1.1 of<br />

Book II) may naturally provide the context synchronization<br />

that is required before the alteration.<br />

No slbie (or slbia) is needed if the slbmte instruction<br />

replaces a valid SLB entry with a mapping of a<br />

different ESID (e.g., to satisfy an SLB miss). However,<br />

the slbie is needed later if and when the<br />

translation that was contained in the replaced SLB<br />

entry is to be invalidated.<br />

12. The context synchronizing instruction before the<br />

mtspr instruction ensures that the LPIDR is not<br />

altered out-of-order. (Out-of-order alteration of the<br />

LPIDR could permit the requirements described in<br />

Section 5.10.1 to be violated. For the same reason,<br />

such a context synchronizing instruction may<br />

be needed even if the new LPID value is equal to<br />

the old LPID value.)<br />

See also Chapter 2. “Logical Partitioning (LPAR)”<br />

on page 389 regarding moving a processor from<br />

one partition to another.<br />

13. When the RMOR or HRMOR is modified, or the<br />

RMLS, LPES 1 , or RMI fields of the LPCR are modified,<br />

software must invalidate all implementationspecific<br />

lookaside information used in address<br />

translation that depends on values stored in these<br />

registers. All implementations provide a means by<br />

which software can do this.<br />

8. The alteration must not cause an implicit branch in<br />

effective address space. Thus, when changing<br />

MSR SF from 1 to 0, the mtmsrd instruction must<br />

have an effective address that is less than 2 32 - 4.<br />

Furthermore, when changing MSR SF from 0 to 1,<br />

the mtmsrd instruction must not be at effective<br />

address 2 32 - 4 (see Section 5.3.2 on page 408).<br />

9. The alteration must not cause an implicit branch in<br />

real address space. Thus the real address of the<br />

context-altering instruction and of each subsequent<br />

instruction, up to and including the next context<br />

synchronizing instruction, must be<br />

independent of whether the alteration has taken<br />

effect.<br />

10. The elapsed time between the contents of the Decrementer<br />

or Hypervisor Decrementer becoming<br />

negative and the signaling of the corresponding<br />

exception is not defined.<br />

11. If an slbmte instruction alters the mapping, or<br />

associated attributes, of a currently mapped ESID,<br />

the slbmte must be preceded by an slbie (or<br />

slbia) instruction that invalidates the existing<br />

translation. This applies even if the corresponding<br />

entry is no longer in the SLB (the translation may<br />

still be in implementation-specific address translation<br />

lookaside information). No software synchronization<br />

is needed between the slbie and the<br />

slbmte, regardless of whether the index of the<br />

SLB entry (if any) containing the current translation<br />

is the same as the SLB index specified by the slbmte.<br />

470<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!