The PowerPC Architecture is specified by the following documents:
Only the features of the PowerPC processor instruction set may be assumed to be present. An application is responsible for determining if any additional instruction set features are available before using those additional features. If a feature is not present, then the application may not use it.
Only instructions which do not require elevated privileges may be used.
Applications may not make system calls directly. The interfaces in the C library must be used instead.
An implementation must support the 64-bit computation mode as described in The PowerPC ™ Architecture: A Specification for a new family of RISC processors.
Applications conforming to this specification must provide feedback to the user if a feature that is required for correct execution of the application is not present. Applications conforming to this specification should attempt to execute in a diminished capacity if a required feature is not present.
This specification does not provide any performance guarantees of a conforming system. A system conforming to this specification may be implemented in either hardware or software.