Linux on Power Architecture ReferenceA PAPR Linux SubsetSystem Software Work Groupsyssw-chair@openpowerfoundation.orgOpenPOWER Foundation2016, 2018, 2020OpenPOWER FoundationRevision 2.9_pre7OpenPOWERCopyright details are filled in by the template.The purpose of this document is to provide firmware and software
architectural details associated with an OpenPOWER Systems.
The base content for this document were contributed to the OpenPOWER Foundation in the
IBM
Linux on Power Architecture Platform Reference (LoPAPR) Draft
document which detailed Linux running on PowerVM. While this information is not always
immediately applicable to new OpenPOWER modes of bare metal or KVM, many of the
concepts and interfaces remain in some form. Until such time as the document addresses
these new OpenPOWER modes and components, it will remain as a Workgroup Note. It should
also be noted that the original document had numerous contributors inside IBM.This document is a Non-standard Track, Workgroup Note work product owned by the
System Software Workgroup and handled in compliance with the requirements outlined in the
OpenPOWER Foundation Work Group (WG) Process document. It was
created using the Master Template Guide version 0.9.5 but meets
the requirements of the 1.10 level. Comments,
questions, etc. can be submitted to the public mailing list for this document at
syssw-linux_architecture_ref@mailinglist.openpowerfoundation.org.2020-06-11Revision 2.9_pre7:
First public review, remove Confidential markings2020-04-20Revision 2.9_pre6:
Re-merge 5 sub-docs back into one matching PAPR.Set Revision to match PAPR spec level (2.9).Miscellaneous formatting improvements. No technical updates.2020-04-06Revision 0.5_pre5 - Updates to include latest PAPR ACRs (2.9) as follows:Add H_VIOCTL subfunctions for VNIC failover supportAdd H_VIOCTL subfunction for virtual ethernet MAC scan functionalityAdd H_VIOCTL subfunctions for virtual scsi and FC mobility preparation functionalityibm,current-associativity-domain propertyHPT resizing option - KVM onlyAdd Coherent Platform Facilities (CAPI)XIVE ExploitationAdd 'OCC online/offline' events to 'IE' error log subsectionLPM Redundancy Phase II: RedundancyAdd optional sub-queue support to VFC on P9 and newerIncrease max num-entries for H_SEND_SUB_CRQ_INDIRECT to 128Add Virtual Serial Multiplex adapter interfacesMaximum size of Dispatch Trace Log BufferEliminate requirement for clearing TCP checksum field for ILLAN checksum calculationContinued Extension of H_Send_Logical_LAN for large send packetsAdd LPM Capablity keyword to RTAS AIX Support system parameterXIVE Exploitation addition: Add ESB Reset Status to RTAS ibm,read-slot-reset-state2Add NVDIMM Protection and Encryption State system parametersChange or Remove 0x9 and 0xA event subtypes for 'IE' error log subsectionAdditional, post PAPR 2.9 ACRs as follows:Reserve a range of hcalls to to support UltravisorAdd New CAS Bit For SRIOV Virtual Function (VF) Dynamic DMA Window (DDW) SupportUpdates to support vTPM 2.0Update XIVE Legacy hcalls to add H_FunctionAdd NVDIMM Secure Erase Command system parameterUpdate H_REGISTER_VPA to add H_STATE return code for VPA and SLB shadow buffer.Extend Firmware Assisted Dump for ISA Version 3.0Add a new return code, H_NOT_AVAILABLE, to start-cpu rtas callDocument already-implemented NVRAM variablesUpdate ibm,dynamic-memory-vN flags to include a "Hotplugged Memory" flag2019-01-08Revision 0.5_pre4 - Update document type to Work Group Note. Final review ready.2018-07-30Revision 0.5_pre3 - Updates to documentation in preparation for System SW WG review:Reset document version to 0.5Improved Abstract2017-10-11Revision 2.0_pre2 - Updates to include latest PAPR ACRs (2.8) as follows:ISA 2.07 privileged doorbell extensions (9/16/2012)POWER ISA Name Change Category Vector.XOR to Vector.CRYPTO (11/4/2012)Enable Multiple Redirected RDMA mappings per page (3/5/2013)Add Block Invalidate Option (3/5/2013)Implementation Dependent Optimizations (3/13/2013)System Firmware Service Entitlement Date (Warranty Date) Check (4/3/2013)New Function for ibm,change-msi to specify 32 bit MSI (5/14/2013)Remove Client-Architecture-Support bit for UUID option (4/16/2013)AddClient Architecture Support bit for RTAS ibm,change-msi (5/28/2013)Add VNIC Server (5/24/2014)VPA changes for P8 (EBB) (5/24/2013)Add an hcall to clean up the entire MMU hashtable (11/20/2013)Add LPCR[ILE] support to H_SET_MODE (5/31/2013)New Root Node Properties (1/12/2016)Extended Firmware Assisted Dump for P8 Registers (1/24/2014)Sufficient H_COP_OP output buffer (6/21/2014)Extend H_SEND_LOGICAL_LAN for large send packets (6/29/2014)Extend H_GET_MPP_X reporting coalesced pages (8/24/2014)Update ibm,pcie-link-speed-stats property to support PCIe 3.0 link speeds (6/12/2015)Extend ibm,get-system-parameters RTAS to report Energy Management Tuning Parameters (3/18/2015)Additional System Parameters related to mgmt of FW Service Entitlement Warranty period (6/22/2015)Additional System Parameter to read LPAR Name string (10/7/2015)Redesign of properties for DRC information and dynamic memory (7/23/2015)Add additional logical loction code sections (3/4/2016)Add ibm,vnic-client-mac to support vNIC failover (2/29/2016)hcall for registering the process table (3/21/2016)New device tree property for UUID (3/21/2016)Changes for Hotplug RTAS Events (10/24/2016)Support 64-bit PE TCEs in ibm,query-pe-dma-window (7/14/2016)2016-05-04Revision 2.0_pre1 - initial conversion from IBM document. Extracted from
Linux on Power Architecture Platform Reference (LoPAPR) version 1.1 dated March 24,
2016 -- Chapter 1 (Introduction), Chapter 2 (System Requirements),
Chapter 3 (Address Map), Chapter 4 (I/O Bridges and Topology),
Chapter 5 (Processors and Memory), Chapter 6 (Interrupt Controller),
Chapter 8 (Non-volatile memory), Chapter 9 (I/O Devices),
Chapter 11 (The Symmetric Multiprocessor Option), Chapter 12 (Product Topology),
and Appendix H (Non-Uniform Memory Access [NUMA] Option).