Compare commits

...

No commits in common. 'master' and 'papr_2.7' have entirely different histories.

2
.gitignore vendored

@ -1,4 +1,2 @@
*~
*target*
.DS_Store
*/.DS_Store

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="dbdoclet.50569387_27251">
<?dbhtml stop-chunking?>
<title> Bibliography</title>
<para>This section lists documents which were referenced in this specification or which provide
additional information, and some useful information for obtaining these documents. Referenced
documents are listed below. When any of the following standards are superseded by an approved
revision, the revision shall apply.</para>
<orderedlist>
<!-- TODO: Uncomment documents needing referencing and comment out local document -->
<listitem>
<para><anchor xml:id="LoPAR.Platform"
xreflabel="Linux on Power Architecture Reference: Platform"/><citetitle>
Linux on Power Architecture Reference: Platform and Device Tree</citetitle></para>
</listitem>

<!-- listitem>
<para><anchor xml:id="LoPAR.DeviceTree"
xreflabel="Linux on Power Architecture Reference: Device Tree"/><citetitle>
Linux on Power Architecture Reference: Device Tree</citetitle></para>
</listitem -->

<listitem>
<para><anchor xml:id="LoPAR.Error"
xreflabel="Linux on Power Architecture Reference: Error Recovery and Logging"/><citetitle>
Linux on Power Architecture Reference: Error Recovery and Logging</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.Virtualization"
xreflabel="Linux on Power Architecture Reference: Virtualization"/><citetitle>
Linux on Power Architecture Reference: Virtualization</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.RTAS"
xreflabel="Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)"/><citetitle>
Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)</citetitle></para>
</listitem>
<!-- End TODO list -->

<listitem>
<para><citetitle>Power ISA</citetitle><anchor xml:id="dbdoclet.50569387_99718"
xreflabel="Power ISA specification"/></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_45524"
xreflabel="IEEE Open Firmware standard"/>
<citetitle>IEEE 1275, IEEE Standard for Boot (Initialization Configuration) Firmware:
Core Requirements and Practices</citetitle></para>
<para>IEEE part number DS02683, ISBN 1-55937-426-8</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_14175"
xreflabel="IEEE Open Firmware Errata specification"/>
<citetitle>Core Errata, IEEE P1275.7/D4</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_31707"
xreflabel="Open Firmware TFTP extensions"/>
<citetitle>Open Firmware Recommended Practice:OBP-TFTP
Extension</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_27008"
xreflabel="Open Firmware Device Support Extensions specification"/>
<citetitle>Open Firmware Recommended Practice: Device
Support Extensions</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_22451"
xreflabel="PCI Bus Binding to Open Firmware standard"/>
<citetitle>PCI Bus binding to: IEEE Std 1275-1994, Standard
for Boot (Initialization, Configuration) Firmware</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_40740"
xreflabel="Open Firmware Interrupt Mapping specification"/>
<citetitle>Open Firmware: Recommended Practice - Interrupt
Mapping</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_33384"
xreflabel="Open Firmware Forth Source and FCode Image Support specification"/>
<citetitle>Open Firmware: Recommended Practice - Forth Source
and FCode Image Support</citetitle>, Version 1.0</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_67880"
xreflabel="Open Firmware Interrup Mapping specification"/>
<citetitle>Open Firmware: Recommended Practice - Interrupt
Mapping</citetitle>, Version 1.0</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_33177"
xreflabel="Open Firmware TFTP Booting extensions"/>
<citetitle>Open Firmware: Recommended Practice - TFTP Booting
Extensions</citetitle>, Version 0.8</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_27351"
xreflabel="Open Firmware Interposition specification"/>
<citetitle>Open Firmware: Recommended Practice -
Interposition</citetitle>, Version 0.2</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_22601"
xreflabel="MS-DOS Programmer's Reference specification"/>
<citetitle>MS-DOS Programmer's Reference</citetitle></para>
<para>Published by Microsoft</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_18190"
xreflabel="Win32 Executable File Format article"/>
<citetitle>Peering Inside the PE: A Tour of the Win32 Portable
Executable File Format</citetitle></para>
<para>Found in the March, 1994 issue of <citetitle> Microsoft Systems Journal</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_85757"
xreflabel="CD-ROM Volume and File Structure standard"/>
<citetitle> ISO-9660, Information processing -- Volume and
file structure of CD-ROM for information interchange</citetitle></para>
<para>Published by International Organization for Standardization</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_38836"
xreflabel="System V Application Binary Interface, PowerPC Processor supplement"/>
<citetitle>System V Application Binary Interface, PowerPC
Processor Supplement</citetitle></para>
<para>By Sunsoft<citetitle></citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_11453"
xreflabel="Standard Generalized Markup Language (SGML) standard"/>
<citetitle>ISO Standard 8879:1986, Information Processing
-- Text and Office Systems -- Standard Generalized Markup Language (SGML)</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_38891"
xreflabel="Personal Computer Back Plane Bus standard"/>
<citetitle>IEEE 996, A Standard for an Extended Personal Computer
Back Plane Bus</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_65468"
xreflabel="PCI Local Bus specification"/>
<citetitle>PCI Local Bus Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design conventional PCI related components or platforms. See the PCI SIG website
for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_60429"
xreflabel="PCI-to-PCI Bridge Architecture specification"/>
<citetitle>PCI-to-PCI Bridge Architecture Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design conventional PCI related components or platforms. See the
PCI SIG website for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_87046"
xreflabel="PCI Standard Hot-Plug Controller and Subsystem specification"/>
<citetitle>PCI Standard Hot-Plug Controller and Subsystem
Specification</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_26550"
xreflabel="PCI-X Protocol addendum"/>
<citetitle>PCI-X Protocol Addendum to the PCI Local Bus Specification </citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at
the time that they design PCI-X related components or platforms. See the PCI SIG website for the most
current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_66784"
xreflabel="PCI Express Base specification"/>
<citetitle>PCI Express Base Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design PCI Express related components or platforms. See the PCI SIG website for
the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_28381"
xreflabel="PCI Express to PCI/PCI-X Bridge specification"/>
<citetitle>PCI Express to PCI/PCI-X Bridge Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at the
time that they design PCI Express related components or platforms. See the PCI SIG website for the most current
version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_34114"
xreflabel="System Management BIOS reference"/>
<citetitle>System Management BIOS (SMBIOS) Reference
Specification</citetitle></para>
</listitem>
<!-- TODO: Are the following 3 items needed? -->
<listitem>
<para><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><!-- anchor xml:id="dbdoclet.50569387_72648" xreflabel=""/ --><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_16481"
xreflabel="RS/6000 Product Topology Data System and Product Development guide"/>
<citetitle>IBM RS/6000&#174; Division, Product Topology Data System,
Product Development Guide</citetitle></para>
<para>Version 2.1</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_94229"
xreflabel="Single Root I/O Virtualization and Sharing specification"/>
<citetitle>Single Root I/O Virtualization and Sharing Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at
the time that they design PCI Express SR-IOV related components or platforms. See the PCI SIG website
for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_42471"
xreflabel="Multi-Root I/O Virtualization and Sharing specification"/>
<citetitle>Multi-Root I/O Virtualization and Sharing Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at the
time that they design PCI Express MR-IOV related components or platforms. See the PCI SIG website for the
most current version of this document.</para>
</listitem>
</orderedlist>

</appendix>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
status="draft"
xml:id="bk_main">

<!-- TODO: When ready to publish document, remove the 'status="draft"' statement from the book object above. -->

<title>Device Tree Bindings</title>
<subtitle>Linux on Power Architecture Reference</subtitle>

<info>
<author>
<personname>
<surname>System Software Work Group</surname>
</personname>
<email>syssw-chair@openpowerfoundation.org</email>
<affiliation>
<orgname>OpenPOWER Foundation</orgname>
</affiliation>
</author>
<copyright>
<year>2016</year>
<holder>OpenPOWER Foundation</holder>
</copyright>
<!-- TODO: Set the correct document releaseinfo -->
<releaseinfo>Revision 2.0_pre1</releaseinfo>
<productname>OpenPOWER</productname>
<pubdate/>

<legalnotice role="apache2">

<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>
<!-- TODO: Update the following text with the correct document description (first paragraph),
Work Group name, and Work Product track (both in second paragraph). -->
<abstract>
<para>The purpose of this document is to provide firmware and software
architectural details associated with Device Tree Bindings on OpenPOWER Systems.
The base content for this document were contributed to the OpenPOWER Foundation in the
<citetitle>IBM Linux on Power Architecture Platform Reference (LoPAPR) Draft</citetitle>
document. It had numerous contributors inside IBM.</para>
<para>This document is a Standard Track, Work Group Specification work product owned by the
System Software Workgroup and handled in compliance with the requirements outlined in the
<citetitle>OpenPOWER Foundation Work Group (WG) Process</citetitle> document. It was
created using the <citetitle>Master Template Guide</citetitle> version 0.9.5. Comments,
questions, etc. can be submitted to the public mailing list for this document at
<link xlink:href="http://tbd.openpowerfoundation.org">TBD</link>.</para>
</abstract>

<revhistory>
<!-- TODO: Update as new revisions created -->
<revision>
<date>2016-05-04</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.0_pre1 - initial conversion from IBM document. Extracted from
Linux on Power Architecture Platform Reference (LoPAPR) version 1.1 dated March 24,
2016 -- Appendix B (LoPAPR Binding) and Appendix C (PA Processor Binding).</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>

<!-- The ch_preface.xml file is required by all documents -->
<xi:include href="../../Docs-Master/common/ch_preface.xml"/>
<xi:include href="../common/ch_LoPAR_preface.xml"/>

<!-- Chapter heading files -->
<xi:include href="ch_introduction.xml"/>
<xi:include href="ch_devtree_terms.xml"/>
<xi:include href="ch_devtree_system.xml"/>
<xi:include href="ch_devtree_pa.xml"/>


<!-- Document specific appendices -->
<xi:include href="app_bibliography.xml"/>
<xi:include href="app_glossary.xml"/>

<!-- The app_foundation.xml appendix file is required by all documents. -->
<xi:include href="../../Docs-Master/common/app_foundation.xml"/>

<xi:include href="../common/app_EOD.xml"/>

</book>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,50 +15,12 @@
limitations under the License.
-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="dbdoclet.50569374_59715"
xml:lang="en">
<title>PA Processor Binding</title>

<section>
<title>Purpose of this Binding</title>

<para>This appendix specifies the application of OF to a PA Processor (which covers
all PowerPC processors and their suc- cessors), including requirements and
practices to support unique firmware specific to a PA Processor. The core
requirements and practices specified by OF must be augmented by processor-specific
requirements to form a complete specification for the firmware implementation
for a PA processor. This appendix establishes such additional requirements
pertaining to the processor and the support required by OF.</para>
</section>

<section>
<title>Overview</title>

<para>This appendix specifies the application of
<emphasis><xref linkend="dbdoclet.50569387_45524" /></emphasis>
to computer systems that use the PA instruction set, including
instruction-set-specific requirements and practices for debugging, client
program interface and data formats. An implementation of OF for PA shall
implement the core requirements as defined in
<xref linkend="dbdoclet.50569387_45524" /> and the PA-specific extensions
described in this binding.</para>

<para>This appendix addresses
<xref linkend="dbdoclet.50569387_99718" />. The descriptions that follow,
and the relevant sections describing translation features for this binding,
assume that the system&#8217;s PA processor(s) implement the entire PA
(that is, all books of
<xref linkend="dbdoclet.50569387_99718" />). Some processors may implement
different Book II-III features; such processors may need a variant of this
binding describing the differences to the mapping functions, etc.</para>

</section>

<xi:include href="sec_pa_processor_binding_terms.xml"/>
<title>Processor Architecture Binding</title>
<section>
<title>Data Formats and Representations</title>
@ -199,10 +161,8 @@
<para>OF shall use the memory resources within the space indicated by the
<emphasis role="bold"><literal>real-base</literal></emphasis>,
<emphasis role="bold"><literal>real-size</literal></emphasis>,
<emphasis role="bold"><literal>virt-base</literal></emphasis>, and
<emphasis role="bold"><literal>virt-size</literal></emphasis> Configuration Variables defined for the PA.
<emphasis>real-base, real-size, virt-base</emphasis> and
<emphasis>virt-size</emphasis> Configuration Variables defined for the PA.
As described in the applicable platform binding, a mechanism is defined
to enable OF to determine if its current configuration is consistent with
the requirements of the client.</para>
@ -212,20 +172,20 @@
OF loads the client program, it inspects the program header, and if its
current usage of physical memory or virtual address space conflicts with
that specified in the program header, OF shall set the
<emphasis role="bold"><literal>real-base</literal></emphasis>,
<emphasis role="bold"><literal>real-size</literal></emphasis>,
<emphasis role="bold"><literal>virt-base</literal></emphasis>, and
<emphasis role="bold"><literal>virt-size</literal></emphasis> to the configuration variables as specified
<emphasis>real-base</emphasis>,
<emphasis>real-size</emphasis>,
<emphasis>virt-base</emphasis>, and
<emphasis>virt-size</emphasis> to the configuration variables as specified
in the header and restart itself.
<emphasis role="bold"><literal>Real-base</literal></emphasis>,
<emphasis role="bold"><literal>real-size</literal></emphasis>,
<emphasis role="bold"><literal>virt-base</literal></emphasis>, and
<emphasis role="bold"><literal>virt-size</literal></emphasis> may be specified as -1, in which case the
<emphasis>Real-base</emphasis>,
<emphasis>real-size</emphasis>,
<emphasis>virt-base</emphasis>, and
<emphasis>virt-size</emphasis> may be specified as -1, in which case the
firmware is permitted to choose appropriate values for the variables
specified as -1.</para>
<para>If the values of the
<emphasis role="bold"><literal>real-size</literal></emphasis> and/or
<emphasis role="bold"><literal>virt-size</literal></emphasis> configuration variables do not provide
<emphasis>real-size</emphasis> and/or
<emphasis>virt-size</emphasis> configuration variables do not provide
sufficient memory and/or virtual address space for the firmware's own
use, then the firmware shall not attempt to load a client program and the
condition should be reported to the user. The possibility of not being
@ -282,12 +242,12 @@
interface handler, that is passed to the client, has to be a real
address.</para>
<para>The Configuration Variables
<emphasis role="bold"><literal>real-base</literal></emphasis> and
<emphasis role="bold"><literal>real-size</literal></emphasis> should indicate the physical memory base
<emphasis>real-base</emphasis> and
<emphasis>real-size</emphasis> should indicate the physical memory base
and size in which OF must locate itself. In Real-Mode, the Configuration
Variables
<emphasis role="bold"><literal>virt-base</literal></emphasis> and
<emphasis role="bold"><literal>virt-size</literal></emphasis> do not have meaning and should be set to
<emphasis>virt-base</emphasis> and
<emphasis>virt-size</emphasis> do not have meaning and should be set to
-1.</para>
</section>
@ -303,11 +263,11 @@
interfaces to allow OF and its client to ensure that this single virtual
address model can be maintained.</para>
<para>The Configuration Variables
<emphasis role="bold"><literal>virt-base</literal></emphasis> and
<emphasis role="bold"><literal>virt-size</literal></emphasis> should indicate the virtual address space
<emphasis>virt-base</emphasis> and
<emphasis>virt-size</emphasis> should indicate the virtual address space
base address and size that OF should use. The Configuration Variables
<emphasis role="bold"><literal>real-base</literal></emphasis> and
<emphasis role="bold"><literal>real-size</literal></emphasis> should indicate the physical memory base
<emphasis>real-base</emphasis> and
<emphasis>real-size</emphasis> should indicate the physical memory base
and size in which OF must locate itself.</para>
</section>
@ -592,7 +552,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>phys.lo cell:</para>
@ -704,7 +664,7 @@
location of resources) to the processor are preserved by the device tree
once presented upon boot. For a list of properties that may change before
a reboot, see
<xref linkend="dbdoclet.50569332_71049" />.</para>
<xref linkend="LoPAR.RTAS" />.</para>

<variablelist>
<varlistentry>
@ -723,7 +683,7 @@
<listitem>
<para>Standard <emphasis>property name</emphasis>. The value of this
property for CPU nodes shall be
<literal>&#8220;cpu&#8221;</literal>.</para>
<emphasis role="bold"><literal>&#8220;cpu&#8221;</literal></emphasis>.</para>
</listitem>
</varlistentry>
@ -750,21 +710,23 @@
<itemizedlist>
<listitem>
<para><literal>&#8220;okay&#8221;</literal> for a good processor.</para>
<para><emphasis role="bold"><literal>&#8220;okay&#8221;</literal></emphasis>
for a good processor.</para>
</listitem>
<listitem>
<para><literal>&#8220;fail&#8221;</literal> for a processor that fails during power-on testing.</para>
<para><emphasis role="bold"><literal>&#8220;fail&#8221;</literal></emphasis>
for a processor that fails during power-on testing.</para>
</listitem>
<listitem>
<para><literal>&#8220;fail-offline&#8221;</literal>
<para><emphasis role="bold"><literal>&#8220;fail-offline&#8221;</literal></emphasis>
for a processor that has been automatically deconfigured because of previous
failures.</para>
</listitem>
<listitem>
<para><literal>&#8220;disabled&#8221;</literal>
<para><emphasis role="bold"><literal>&#8220;disabled&#8221;</literal></emphasis>
for a processor that has been manually deconfigured.</para>
</listitem>
</itemizedlist>
@ -810,7 +772,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>2.04</para>
@ -1135,7 +1097,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0</para>
@ -1227,7 +1189,7 @@
<varlistentry>
<term><emphasis role="bold"><literal>&#8220;ibm,processor-page-sizes&#8221;</literal></emphasis></term>
<listitem>
<para><emphasis>property name</emphasis>: Relates the number and sizes of the virtual memory
<para>property name: Relates the number and sizes of the virtual memory
page sizes supported by the processor describe by this node.</para>
<para><emphasis>prop-encoded-array</emphasis>: One to N cells in ascending
value order, each encoded as with
@ -1239,19 +1201,6 @@
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold"><literal>&#8220;ibm,processor-radix-AP-encodings&#8221;</literal></emphasis></term>
<listitem>
<para><emphasis>property name</emphasis>: Relates the AP (Actual Page size) encodings
for the supported page sizes used by the TLB management instructions when the processor
is in Radix address translation mode.</para>
<para><emphasis>prop-encoded-array</emphasis>: One to N cells in ascending order of
Radix mode supported page size, each encoded as with
<emphasis role="bold"><literal>encode-int</literal></emphasis>. The top 3 bits of the low order byte
contain the tlbie AP field associated with the corresponding Radix mode supported page size.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold"><literal>&#8220;ibm,processor-segment-sizes&#8221;</literal></emphasis></term>
<listitem>
@ -1456,7 +1405,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="7">
<para>0</para>
@ -2047,12 +1996,12 @@
<para>0</para>
</entry>
<entry>
<para>2.07 Vector.CRYPTO Support</para>
<para>2.07 Vector.XOR Support</para>
</entry>
<entry>
<para>The value of 1 indicates that the vector.crypto category as
<para>The value of 1 indicates that the vector.xor category as
described by version 2.07 of POWER ISA is supported; else the
2.07 version vector.crypto category is not supported.</para>
2.07 version vector.xor category is not supported.</para>
</entry>
</row>
<row>
@ -2181,7 +2130,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="3">
<para>0</para>
@ -2328,7 +2277,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="1">
<para>0</para>
@ -2440,7 +2389,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="1">
<para>0</para>
@ -2554,7 +2503,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0</para>
@ -3103,7 +3052,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>&#160;</para>
@ -3522,9 +3471,9 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="8">
<entry>
<para>msr</para>
</entry>
<entry>
@ -3535,6 +3484,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>PR = 0, supervisor state</para>
</entry>
@ -3543,6 +3495,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>FP = 1, floating point enabled</para>
</entry>
@ -3551,6 +3506,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>ME = 1, machine checks enabled</para>
</entry>
@ -3559,6 +3517,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>FE0, FE1 = 0, floating point exceptions disabled</para>
</entry>
@ -3567,6 +3528,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>IP, see
<xref linkend="dbdoclet.50569374_27751" /></para>
@ -3576,6 +3540,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>IR,DR, see
<xref linkend="dbdoclet.50569374_25139" /></para>
@ -3585,6 +3552,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>SF=0, 32-bit mode</para>
</entry>
@ -3593,6 +3563,9 @@
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>ILE,LE, little endian support</para>
</entry>
@ -4400,4 +4373,4 @@
</section>
</appendix>
</chapter>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,11 +15,11 @@
limitations under the License.
-->
<section xmlns="http://docbook.org/ns/docbook"
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="sec_papr_binding_terms">
xml:id="ch_devtree_terms">
<title>Terms</title>
@ -73,9 +73,21 @@
</varlistentry>

<varlistentry>
<term><emphasis role="bold">ELF</emphasis></term>
<term><emphasis role="bold">effective address</emphasis></term>
<listitem>
<para>Executable and Linking Format. A binary object file format defined by
<para>The 64- or 32-bit address computed by the processor
when executing a Storage Access or Branch instruction, or when fetching the
next sequential instruction. If address translation is disabled, the real
address is the same as the effective address. If address translation is
enabled, the real address is determined by, but not necessarily identical
to, the effective address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">ELF Executable and Linking Format</emphasis></term>
<listitem>
<para>A binary object file format defined by
<xref linkend="dbdoclet.50569387_38836" /> that is used to represent client
programs in OF for PA.</para>
</listitem>
@ -140,6 +152,16 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">linkage area</emphasis></term>
<listitem>
<para>An area within the stack that is reserved for saving
certain registers across procedure calls in PA run-time models. This area
is reserved by the caller and is allocated above the current stack pointer
(<literal>%r1</literal>).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">NVRAM</emphasis></term>
<listitem>
@ -176,6 +198,22 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">procedure descriptor</emphasis></term>
<listitem>
<para>A data structure used by some PA run-time models
to represent a C &#8220;pointer to procedure&#8221;. The first word of this
structure contains the actual address of the procedure.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">processor bus</emphasis></term>
<listitem>
<para>The bus that connects the CPU chip to the system.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">PROM</emphasis></term>
<listitem>
@ -183,6 +221,14 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">real address</emphasis></term>
<listitem>
<para>An address that the processor presents on the processor
bus.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">real-mode</emphasis></term>
<listitem>
@ -207,6 +253,17 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">segmented address translation</emphasis></term>
<listitem>
<para>The process whereby an Effective Address (EA) is translated into a
Virtual Address (VA) and the virtual address is translated into a Real
Address (RA). (see
<xref linkend="dbdoclet.50569374_41703" />and Book III of
<xref linkend="dbdoclet.50569387_99718" />for more detail.)</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">suspend</emphasis></term>
<listitem>
@ -216,6 +273,16 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">Table of Contents (TOC)</emphasis></term>
<listitem>
<para>A data structure used by some PA run-time models that is used for
access to global variables and for inter-module linkage. When a TOC is
used,
<emphasis>%r2</emphasis> contains its base address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">TFTP</emphasis></term>
<listitem>
@ -230,6 +297,26 @@
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">Virtual Address</emphasis></term>
<listitem>
<para>In IEEE 1275 parlance, the address that a program uses to access
a memory location or
memory-mapped device register. Depending on the presence or absence of
memory mapping hardware in the system, and whether or not that mapping
hardware is enabled, a virtual address may or may not be the same as the
physical (real) address that appears on an external bus. The IEEE 1275
definition of &#8220;virtual address&#8221; corresponds to The PA's
definition of &#8220;effective address.&#8221; Except as noted, this
document uses the IEEE 1275 definition of virtual address.</para>
<para>In PA parlance, an internal address within the PA address
translation mechanism, used
as in intermediate term in the translation of an effective address to the
corresponding real address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">virtual-mode</emphasis></term>
<listitem>
@ -240,4 +327,4 @@
</varlistentry>
</variablelist>
</section>
</chapter>

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="ch_introduction">
<title>Introduction</title>
<para>This document specifies the application of OF to an LoPAR System,
including requirements and practices to support unique hardware and
firmware specific to the platform implementation. The core requirements and
practices specified by OF must be augmented by system-specific requirements
to form a complete specification for the firmware implementation of an
LoPAR System. This appendix establishes such additional requirements
pertaining to the platform and the support required by OF.</para>
<para>This document also specifies the application of OF to a PA Processor
(which covers all PowerPC processors and their successors), including
requirements and practices to support unique firmware specific to a PA
Processor. The core requirements and practices specified by OF must be
augmented by processor-specific requirements to form a complete
specification for the firmware implementation for a PA processor.
<xref linkend="dbdoclet.50569374_59715" />
establishes such additional requirements pertaining to the
processor and the support required by OF.</para>

<para>This document further specifies the application of
<emphasis>IEEE Std 1275-1994 Standard for Boot (Initialization,
Configuration) Firmware, Core Practices and Requirements</emphasis>,
<emphasis>Core Errata, IEEE P1275.7</emphasis> and appropriate OF Standards
for LoPAR computer systems, including practices for client program
interface and data formats.</para>
<section>
<title>General Requirements</title>
<para>An OF implementation for an LoPAR platform shall implement the
core requirements as defined in
<xref linkend="dbdoclet.50569387_45524" />, core errata
<xref linkend="dbdoclet.50569387_14175" />, the PA Processor-specific
extensions described in
<xref linkend="dbdoclet.50569374_59715" />, other appropriate bindings
and/or recommended practices contained in the references (see
<xref linkend="dbdoclet.50569387_27251" />), and the LoPAR Binding
specific extensions described in this appendix.</para>
<para>In addition, an OF implementation for an LoPAR platform shall
implement the
<emphasis>Device Interface</emphasis>,
<emphasis>Client Interface</emphasis> and
<emphasis>User Interface</emphasis> as defined in
<xref linkend="dbdoclet.50569387_45524" />.</para>
<para>Some LoPAR Binding property names exceed the OF Base specification
limit of 31 characters. LoPAR OF implementations shall support property
names of at least 47 characters.</para>
</section>
<section>
<title>Processor Architecture Requirements</title>

<para><xref linkend="dbdoclet.50569374_59715" /> specifies the application of
<emphasis>
<xref linkend="dbdoclet.50569387_45524" />
</emphasis> to computer systems that use the PA instruction set, including
instruction-set-specific requirements and practices for debugging, client
program interface and data formats. An implementation of OF for PA shall
implement the core requirements as defined in
<xref linkend="dbdoclet.50569387_45524" />and the PA-specific extensions
described in this binding.</para>
<para>This appendix addresses
<xref linkend="dbdoclet.50569387_99718" />. The descriptions that follow,
and the relevant sections describing translation features for this binding,
assume that the system&#8217;s PA processor(s) implement the entire PA
(that is, all books of
<xref linkend="dbdoclet.50569387_99718" />). Some processors may implement
different Book II-III features; such processors may need a variant of this
binding describing the differences to the mapping functions, etc.</para>
</section>
</chapter>

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>

<groupId>org.openpowerfoundation.docs</groupId>
<artifactId>workgroup-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

<!-- TODO: Rename the artifactID field to some appropriate for your new document -->
<artifactId>LoPAR-DeviceTree</artifactId>

<packaging>jar</packaging>
<!-- TODO: Rename the name field to some appropriate for your new document -->
<name>LoPAR-DeviceTree</name>

<properties>
<!-- This is set by Jenkins according to the branch. -->
<release.path.name></release.path.name>
<comments.enabled>0</comments.enabled>
</properties>
<!-- ################################################ -->
<!-- USE "mvn clean generate-sources" to run this POM -->
<!-- ################################################ -->
<build>
<plugins>
<plugin>

<groupId>org.openpowerfoundation.docs</groupId>

<artifactId>openpowerdocs-maven-plugin</artifactId>
<!-- version set in ../pom.xml -->
<executions>
<execution>
<id>generate-webhelp</id>
<goals>
<goal>generate-webhelp</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<!-- These parameters only apply to webhelp -->
<enableDisqus>${comments.enabled}</enableDisqus>
<disqusShortname>LoPAR-DeviceTree</disqusShortname>
<enableGoogleAnalytics>1</enableGoogleAnalytics>
<googleAnalyticsId>UA-17511903-1</googleAnalyticsId>
<generateToc>
appendix toc,title
article/appendix nop
article toc,title
book toc,title,figure,table,example,equation
book/appendix nop
book/chapter nop
chapter toc,title
chapter/section nop
section toc
part toc,title
qandadiv toc
qandaset toc
reference toc,title
set toc,title
</generateToc>
<!-- The following elements sets the autonumbering of sections in output for chapter numbers but no numbered sections-->
<sectionAutolabel>1</sectionAutolabel>
<tocSectionDepth>3</tocSectionDepth>
<sectionLabelIncludesComponentLabel>1</sectionLabelIncludesComponentLabel>

<!-- TODO: Rename the webhelpDirname field to the new directory for new document -->
<webhelpDirname>LoPAR_DeviceTree</webhelpDirname>

<!-- TODO: Rename the pdfFilenameBase field to the PDF name for new document -->
<pdfFilenameBase>LoPAR_DeviceTree</pdfFilenameBase>

<!-- TODO: Define the appropriate work product type. These values are defined by the IPR Policy.
Consult with the Work Group Chair or a Technical Steering Committee member if you have
questions about which value to select.
If no value is provided below, the document will default to "Work Group Notes".-->
<!-- workProduct>workgroupNotes</workProduct -->
<workProduct>workgroupSpecification</workProduct>
<!-- workProduct>candidateStandard</workProduct -->
<!-- workProduct>openpowerStandard</workProduct -->

<!-- TODO: Set the appropriate security policy for the document. For documents
which are not "public" this will affect the document title page and
create a vertical running ribbon on the internal margin of the
security status in all CAPS. Values and definitions are formally
defined by the IPR policy. A layman's definition follows:

public = this document may be shared outside the
foundation and thus this setting must be
used only when completely sure it allowed
foundationConfidential = this document may be shared freely with
OpenPOWER Foundation members but may not be
shared publicly
workgroupConfidential = this document may only be shared within the
work group and should not be shared with
other Foundation members or the public

The appropriate starting security for a new document is "workgroupConfidential". -->
<security>workgroupConfidential</security>
<!-- security>foundationConfidential</security -->
<!-- security>public</security -->

<!-- TODO: Set the appropriate work flow status for the document. For documents
which are not "published" this will affect the document title page
and create a vertical running ribbon on the internal margin of the
security status in all CAPS. Values and definitions are formally
defined by the IPR policy. A layman's definition follows:

published = this document has completed all reviews and has
been published
draft = this document is actively being updated and has
not yet been reviewed
review = this document is presently being reviewed

The appropriate starting security for a new document is "draft". -->
<documentStatus>draft</documentStatus>
<!-- documentStatus>review</documentStatus -->
<!-- documentStatus>publish</documentStatus -->

</configuration>
</execution>
</executions>
<configuration>
<!-- These parameters apply to pdf and webhelp -->
<xincludeSupported>true</xincludeSupported>
<sourceDirectory>.</sourceDirectory>
<includes>
<!-- TODO: If you desire, you may change the following filename to something more appropriate for the new document -->
bk_main.xml
</includes>

<!-- **TODO: Set to the correct project URL. This likely needs input from the TSC. -->
<!-- canonicalUrlBase>http://openpowerfoundation.org/docs/template-guide/content</canonicalUrlBase -->
<glossaryCollection>${basedir}/../glossary/glossary-terms.xml</glossaryCollection>
<includeCoverLogo>1</includeCoverLogo>
<coverUrl>www.openpowerfoundation.org</coverUrl>
</configuration>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,284 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="dbdoclet.50569387_27251">
<?dbhtml stop-chunking?>
<title> Bibliography</title>
<para>This section lists documents which were referenced in this specification or which provide
additional information, and some useful information for obtaining these documents. Referenced
documents are listed below. When any of the following standards are superseded by an approved
revision, the revision shall apply.</para>
<orderedlist>
<!-- TODO: Uncomment documents needing referencing and comment out local document -->
<listitem>
<para><anchor xml:id="LoPAR.Platform"
xreflabel="Linux on Power Architecture Reference: Platform"/><citetitle>
Linux on Power Architecture Reference: Platform and Device Tree</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.DeviceTree"
xreflabel="Linux on Power Architecture Reference: Device Tree"/><citetitle>
Linux on Power Architecture Reference: Device Tree</citetitle></para>
</listitem>

<!-- listitem>
<para><anchor xml:id="LoPAR.Error"
xreflabel="Linux on Power Architecture Reference: Error Recovery and Logging"/><citetitle>
Linux on Power Architecture Reference: Error Recovery and Logging</citetitle></para>
</listitem -->

<listitem>
<para><anchor xml:id="LoPAR.Virtualization"
xreflabel="Linux on Power Architecture Reference: Virtualization"/><citetitle>
Linux on Power Architecture Reference: Virtualization</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.RTAS"
xreflabel="Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)"/><citetitle>
Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)</citetitle></para>
</listitem>
<!-- End TODO list -->

<listitem>
<para><citetitle>Power ISA</citetitle><anchor xml:id="dbdoclet.50569387_99718"
xreflabel="Power ISA specification"/></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_45524"
xreflabel="IEEE Open Firmware standard"/>
<citetitle>IEEE 1275, IEEE Standard for Boot (Initialization Configuration) Firmware:
Core Requirements and Practices</citetitle></para>
<para>IEEE part number DS02683, ISBN 1-55937-426-8</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_14175"
xreflabel="IEEE Open Firmware Errata specification"/>
<citetitle>Core Errata, IEEE P1275.7/D4</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_31707"
xreflabel="Open Firmware TFTP extensions"/>
<citetitle>Open Firmware Recommended Practice:OBP-TFTP
Extension</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_27008"
xreflabel="Open Firmware Device Support Extensions specification"/>
<citetitle>Open Firmware Recommended Practice: Device
Support Extensions</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_22451"
xreflabel="PCI Bus Binding to Open Firmware standard"/>
<citetitle>PCI Bus binding to: IEEE Std 1275-1994, Standard
for Boot (Initialization, Configuration) Firmware</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_40740"
xreflabel="Open Firmware Interrupt Mapping specification"/>
<citetitle>Open Firmware: Recommended Practice - Interrupt
Mapping</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_33384"
xreflabel="Open Firmware Forth Source and FCode Image Support specification"/>
<citetitle>Open Firmware: Recommended Practice - Forth Source
and FCode Image Support</citetitle>, Version 1.0</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_67880"
xreflabel="Open Firmware Interrup Mapping specification"/>
<citetitle>Open Firmware: Recommended Practice - Interrupt
Mapping</citetitle>, Version 1.0</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_33177"
xreflabel="Open Firmware TFTP Booting extensions"/>
<citetitle>Open Firmware: Recommended Practice - TFTP Booting
Extensions</citetitle>, Version 0.8</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_27351"
xreflabel="Open Firmware Interposition specification"/>
<citetitle>Open Firmware: Recommended Practice -
Interposition</citetitle>, Version 0.2</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_22601"
xreflabel="MS-DOS Programmer's Reference specification"/>
<citetitle>MS-DOS Programmer's Reference</citetitle></para>
<para>Published by Microsoft</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_18190"
xreflabel="Win32 Executable File Format article"/>
<citetitle>Peering Inside the PE: A Tour of the Win32 Portable
Executable File Format</citetitle></para>
<para>Found in the March, 1994 issue of <citetitle> Microsoft Systems Journal</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_85757"
xreflabel="CD-ROM Volume and File Structure standard"/>
<citetitle> ISO-9660, Information processing -- Volume and
file structure of CD-ROM for information interchange</citetitle></para>
<para>Published by International Organization for Standardization</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_38836"
xreflabel="System V Application Binary Interface, PowerPC Processor supplement"/>
<citetitle>System V Application Binary Interface, PowerPC
Processor Supplement</citetitle></para>
<para>By Sunsoft<citetitle></citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_11453"
xreflabel="Standard Generalized Markup Language (SGML) standard"/>
<citetitle>ISO Standard 8879:1986, Information Processing
-- Text and Office Systems -- Standard Generalized Markup Language (SGML)</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_38891"
xreflabel="Personal Computer Back Plane Bus standard"/>
<citetitle>IEEE 996, A Standard for an Extended Personal Computer
Back Plane Bus</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_65468"
xreflabel="PCI Local Bus specification"/>
<citetitle>PCI Local Bus Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design conventional PCI related components or platforms. See the PCI SIG website
for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_60429"
xreflabel="PCI-to-PCI Bridge Architecture specification"/>
<citetitle>PCI-to-PCI Bridge Architecture Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design conventional PCI related components or platforms. See the
PCI SIG website for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_87046"
xreflabel="PCI Standard Hot-Plug Controller and Subsystem specification"/>
<citetitle>PCI Standard Hot-Plug Controller and Subsystem
Specification</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_26550"
xreflabel="PCI-X Protocol addendum"/>
<citetitle>PCI-X Protocol Addendum to the PCI Local Bus Specification </citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at
the time that they design PCI-X related components or platforms. See the PCI SIG website for the most
current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_66784"
xreflabel="PCI Express Base specification"/>
<citetitle>PCI Express Base Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document
at the time that they design PCI Express related components or platforms. See the PCI SIG website for
the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_28381"
xreflabel="PCI Express to PCI/PCI-X Bridge specification"/>
<citetitle>PCI Express to PCI/PCI-X Bridge Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at the
time that they design PCI Express related components or platforms. See the PCI SIG website for the most current
version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_34114"
xreflabel="System Management BIOS reference"/>
<citetitle>System Management BIOS (SMBIOS) Reference
Specification</citetitle></para>
</listitem>
<!-- TODO: Are the following 3 items needed? -->
<listitem>
<para><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><!-- anchor xml:id="dbdoclet.50569387_72648" xreflabel=""/ --><citetitle>(List Number Reserved for Compatibility)</citetitle></para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_16481"
xreflabel="RS/6000 Product Topology Data System and Product Development guide"/>
<citetitle>IBM RS/6000&#174; Division, Product Topology Data System,
Product Development Guide</citetitle></para>
<para>Version 2.1</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_94229"
xreflabel="Single Root I/O Virtualization and Sharing specification"/>
<citetitle>Single Root I/O Virtualization and Sharing Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at
the time that they design PCI Express SR-IOV related components or platforms. See the PCI SIG website
for the most current version of this document.</para>
</listitem>
<listitem>
<para><anchor xml:id="dbdoclet.50569387_42471"
xreflabel="Multi-Root I/O Virtualization and Sharing specification"/>
<citetitle>Multi-Root I/O Virtualization and Sharing Specification</citetitle></para>
<para>All designers are responsible for assuring that they use the most current version of this document at the
time that they design PCI Express MR-IOV related components or platforms. See the PCI SIG website for the
most current version of this document.</para>
</listitem>
</orderedlist>

</appendix>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -16,10 +16,7 @@
-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569385_36278">
xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en" xml:id="dbdoclet.50569385_36278">
<title>
When to use: Fault vs. Error Log Indicators (Lightpath Mode)</title>
<para>This appendix gives
@ -42,7 +39,7 @@
<xref linkend="dbdoclet.50569347_86824" />.</para>
<para><xref linkend="dbdoclet.50569385_72358" /> gives the recommended models. The
general model, though, is still dictated by the following requirement, copied
here from the <xref linkend="dbdoclet.50569347_86824" />:</para>
here from the <xref linkend="LoPAR.Platform" />:</para>
<informalfigure>
<mediaobject>
<imageobject role="html">
@ -116,7 +113,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>All</para>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
status="draft"
xml:id="bk_main">

<!-- TODO: When ready to publish document, remove the 'status="draft"' statement from the book object above. -->

<title>Error Handling</title>
<subtitle>Linux on Power Architecture Reference</subtitle>

<info>
<author>
<personname>
<surname>System Software Work Group</surname>
</personname>
<email>syssw-chair@openpowerfoundation.org</email>
<affiliation>
<orgname>OpenPOWER Foundation</orgname>
</affiliation>
</author>
<copyright>
<year>2016</year>
<holder>OpenPOWER Foundation</holder>
</copyright>
<!-- TODO: Set the correct document releaseinfo -->
<releaseinfo>Revision 2.0_pre1</releaseinfo>
<productname>OpenPOWER</productname>
<pubdate/>

<legalnotice role="apache2">

<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>
<!-- TODO: Update the mailing list information in second paragraph. -->
<abstract>
<para>The purpose of this document is to provide firmware and software
architectural details associated with Error Recovery and Logging on OpenPOWER Systems.
The base content for this document were contributed to the OpenPOWER Foundation in the
<citetitle>IBM Linux on Power Architecture Platform Reference (LoPAPR) Draft</citetitle>
document. It had numerous contributors inside IBM.</para>
<para>This document is a Standard Track, Work Group Specification work product owned by the
System Software Workgroup and handled in compliance with the requirements outlined in the
<citetitle>OpenPOWER Foundation Work Group (WG) Process</citetitle> document. It was
created using the <citetitle>Master Template Guide</citetitle> version 0.9.5. Comments,
questions, etc. can be submitted to the public mailing list for this document at
<link xlink:href="http://tbd.openpowerfoundation.org">TBD</link>.</para>
</abstract>

<revhistory>
<!-- TODO: Update as new revisions created -->
<revision>
<date>2016-05-04</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.0_pre1 - initial conversion from IBM document. Extracted from
Linux on Power Architecture Platform Reference (LoPAPR) version 1.1 dated March 24,
2016 -- Section 7.3.3 ([RTAS] Error and Event Reporting), Chapter 10 (Error and
Event Notification), Sections 1-3 of Chapter 16 (Service Indicators), and
Appendix L (When to use: Fault vs. Error Log Indicators).</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>

<!-- The ch_preface.xml file is required by all documents -->
<xi:include href="../../Docs-Master/common/ch_preface.xml"/>
<xi:include href="../common/ch_LoPAR_preface.xml"/>

<!-- Chapter heading files -->
<xi:include href="ch_notifications.xml"/>
<xi:include href="ch_rtas_error_classes.xml"/>
<xi:include href="ch_rtas_error_reporting.xml"/>
<xi:include href="ch_error_codes.xml"/>
<xi:include href="ch_service_indicators.xml"/>

<!-- Document specific appendices -->
<xi:include href="app_fault_v_errorlog.xml"/>
<xi:include href="app_bibliography.xml"/>
<xi:include href="app_glossary.xml"/>

<!-- The app_foundation.xml appendix file is required by all documents. -->
<xi:include href="../../Docs-Master/common/app_foundation.xml"/>

<xi:include href="../common/app_EOD.xml"/>

</book>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,7 +15,7 @@
limitations under the License.
-->
<section xmlns="http://docbook.org/ns/docbook"
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0" xml:lang="en"
@ -147,14 +147,14 @@
<?dbhtml table-width="50%" ?>
<?dbfo table-width="50%" ?>
<tgroup cols="8">
<colspec colname="c1" colwidth="12*" align="center" />
<colspec colname="c2" colwidth="12*" align="center" />
<colspec colname="c3" colwidth="12*" align="center" />
<colspec colname="c4" colwidth="12*" align="center" />
<colspec colname="c5" colwidth="12*" align="center" />
<colspec colname="c6" colwidth="12*" align="center" />
<colspec colname="c7" colwidth="12*" align="center" />
<colspec colname="c8" colwidth="12*" align="center" />
<colspec colname="c1" colwidth="12*" />
<colspec colname="c2" colwidth="12*" />
<colspec colname="c3" colwidth="12*" />
<colspec colname="c4" colwidth="12*" />
<colspec colname="c5" colwidth="12*" />
<colspec colname="c6" colwidth="12*" />
<colspec colname="c7" colwidth="12*" />
<colspec colname="c8" colwidth="12*" />
<thead>
<row>
<entry nameend="c5" namest="c1">
@ -169,7 +169,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry nameend="c2" namest="c1">
<para>
@ -228,7 +228,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="15*" align="center" />
<colspec colname="c1" colwidth="15*" />
<colspec colname="c2" colwidth="85*" />
<thead>
<row>
@ -237,14 +237,14 @@
<emphasis role="bold">Field</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Description</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>S1</para>
@ -349,8 +349,8 @@
<?dbhtml table-width="75%" ?>
<?dbfo table-width="75%" ?>
<tgroup cols="3">
<colspec colname="c1" colwidth="20*" align="center" />
<colspec colname="c2" colwidth="20*" align="center" />
<colspec colname="c1" colwidth="20*" />
<colspec colname="c2" colwidth="20*" />
<colspec colname="c3" colwidth="60*" />
<thead>
<row>
@ -365,19 +365,19 @@
<emphasis role="bold">PCI Sub-ClassS3-S4</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Description</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="2">
<para>0</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Devices that were built before the class code field was
defined</para>
</entry>
@ -403,7 +403,7 @@
<entry morerows="6">
<para>1</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Mass storage controller.</para>
</entry>
</row>
@ -461,7 +461,7 @@
<entry morerows="5">
<para>2</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Network controller.</para>
</entry>
</row>
@ -509,7 +509,7 @@
<entry morerows="3">
<para>3</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Display controller.</para>
</entry>
</row>
@ -541,7 +541,7 @@
<entry morerows="3">
<para>4</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Multimedia device</para>
</entry>
</row>
@ -573,7 +573,7 @@
<entry morerows="3">
<para>5</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Memory controller.</para>
</entry>
</row>
@ -605,7 +605,7 @@
<entry morerows="9">
<para>6</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Bridge IOAs.</para>
</entry>
</row>
@ -685,7 +685,7 @@
<entry morerows="3">
<para>7</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Simple communication controllers.</para>
</entry>
</row>
@ -717,7 +717,7 @@
<entry morerows="5">
<para>8</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Generic system peripherals</para>
</entry>
</row>
@ -765,7 +765,7 @@
<entry morerows="4">
<para>9</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Input devices</para>
</entry>
</row>
@ -805,7 +805,7 @@
<entry morerows="2">
<para>A</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Docking stations</para>
</entry>
</row>
@ -829,7 +829,7 @@
<entry morerows="2">
<para>B</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Processors</para>
</entry>
</row>
@ -853,7 +853,7 @@
<entry morerows="2">
<para>C</para>
</entry>
<entry nameend="c3" namest="c2" align="center">
<entry nameend="c3" namest="c2">
<para>Serial bus controllers</para>
</entry>
</row>
@ -883,8 +883,8 @@
<?dbhtml table-width="75%" ?>
<?dbfo table-width="75%" ?>
<tgroup cols="3">
<colspec colname="c1" colwidth="20*" align="center" />
<colspec colname="c2" colwidth="20*" align="center" />
<colspec colname="c1" colwidth="20*" />
<colspec colname="c2" colwidth="20*" />
<colspec colname="c3" colwidth="60*" />
<thead>
<row>
@ -898,14 +898,14 @@
<emphasis role="bold">Sub-ClassS3-S4</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Description</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="13">
<para>0</para>
@ -1277,4 +1277,4 @@
</section>
</section>
</chapter>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -25,7 +25,6 @@
<?dbhtml stop-chunking?>
<xi:include href="sec_error_introduction.xml"/>
<xi:include href="sec_rtas_error_classes.xml"/>
<xi:include href="sec_rtas_error_reporting.xml"/>
<xi:include href="sec_error_codes.xml"/>
<xi:include href="sec_error_reporting.xml"/>
</chapter>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,7 +15,7 @@
limitations under the License.
-->
<section xmlns="http://docbook.org/ns/docbook"
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0" xml:lang="en"
@ -36,8 +36,8 @@
OSs know which interrupts may be handled by calling
<emphasis>check-exception</emphasis>. The OF structure for describing these
interrupts is defined in
<xref linkend="dbdoclet.50569368_91814"/>.
<xref linkend="dbdoclet.50569337_82470"/> also defines the mask parameter for the
<xref linkend="LoPAR.DeviceTree"/>.
This document also defines the mask parameter for the
<emphasis>check-exception</emphasis> and
<emphasis>event-scan</emphasis> RTAS functions which limits the search for
@ -49,9 +49,9 @@
<?dbhtml table-width="75%" ?>
<?dbfo table-width="75%" ?>
<tgroup cols="3">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c2" colwidth="40*" align="center" />
<colspec colname="c3" colwidth="20*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="40*" />
<colspec colname="c3" colwidth="20*" />
<thead>
<row>
<entry>
@ -74,7 +74,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Internal Errors</para>
@ -317,4 +317,5 @@
<xi:include href="sec_rtas_env_epow.xml"/>
<xi:include href="sec_rtas_hot_plug.xml"/>
</section>
</chapter>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -15,7 +15,7 @@
limitations under the License.
-->
<section xmlns="http://docbook.org/ns/docbook"
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0" xml:lang="en"
@ -33,4 +33,4 @@
<xi:include href="sec_rtas_error_reporting_return_format.xml"/>
<xi:include href="sec_rtas_error_reporting_location_codes.xml"/>
</section>
</chapter>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -431,7 +431,7 @@
<para>Dynamic Reconfiguration (LoPAR indicator type 9002) to indicate
the status of DR operations on a Field Replacable Unit (FRU). More
information on DR indicators can be found in
<xref linkend="dbdoclet.50569342_75822" />. This indicator is amber
<xref linkend="LoPAR.Virtualization" />. This indicator is amber
<footnote xml:id="pgfId-630879">
<para>The term &#8220;amber&#8221; will be used in this chapter to mean
any wavelength between yellow and amber.</para>
@ -799,9 +799,9 @@
<?dbhtml table-width="75%" ?>
<?dbfo table-width="75%" ?>
<tgroup cols="3">
<colspec colname="c1" colwidth="33*" align="center" />
<colspec colname="c2" colwidth="33*" align="center" />
<colspec colname="c3" colwidth="33*" align="center" />
<colspec colname="c1" colwidth="33*" />
<colspec colname="c2" colwidth="33*" />
<colspec colname="c3" colwidth="33*" />
<thead>
<row>
<entry>
@ -821,7 +821,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Number of FRUs</para>
@ -3751,7 +3751,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="60*" />
<thead>
<row>
@ -3760,14 +3760,14 @@
<emphasis role="bold">Green Indicator State</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Usage</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Any not already covered in this table</para>
@ -3833,7 +3833,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="60*" />
<thead>
<row>
@ -3842,14 +3842,14 @@
<emphasis role="bold">Green Indicator State</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Usage</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Any not already covered in this table</para>
@ -3936,7 +3936,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="60*" />
<thead>
<row>
@ -3945,14 +3945,14 @@
<emphasis role="bold">Green Indicator State</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Usage</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Any not already covered in this table</para>
@ -4025,7 +4025,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="60*" />
<thead>
<row>
@ -4034,14 +4034,14 @@
<emphasis role="bold">Green Indicator State</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Usage</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Any not already covered in this table</para>
@ -4110,7 +4110,7 @@
<?dbhtml table-width="80%" ?>
<?dbfo table-width="80%" ?>
<tgroup cols="2">
<colspec colname="c1" colwidth="40*" align="center" />
<colspec colname="c1" colwidth="40*" />
<colspec colname="c2" colwidth="60*" />
<thead>
<row>
@ -4119,14 +4119,14 @@
<emphasis role="bold">Green Indicator State</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Usage</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Any not already covered in this table</para>

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 1012 B

After

Width:  |  Height:  |  Size: 1012 B

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>

<groupId>org.openpowerfoundation.docs</groupId>
<artifactId>workgroup-pom</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

<!-- TODO: Rename the artifactID field to some appropriate for your new document -->
<artifactId>LoPAR-Error</artifactId>

<packaging>jar</packaging>
<!-- TODO: Rename the name field to some appropriate for your new document -->
<name>LoPAR-Error</name>

<properties>
<!-- This is set by Jenkins according to the branch. -->
<release.path.name></release.path.name>
<comments.enabled>0</comments.enabled>
</properties>
<!-- ################################################ -->
<!-- USE "mvn clean generate-sources" to run this POM -->
<!-- ################################################ -->
<build>
<plugins>
<plugin>

<groupId>org.openpowerfoundation.docs</groupId>

<artifactId>openpowerdocs-maven-plugin</artifactId>
<!-- version set in ../pom.xml -->
<executions>
<execution>
<id>generate-webhelp</id>
<goals>
<goal>generate-webhelp</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<!-- These parameters only apply to webhelp -->
<enableDisqus>${comments.enabled}</enableDisqus>
<disqusShortname>LoPAR-Error</disqusShortname>
<enableGoogleAnalytics>1</enableGoogleAnalytics>
<googleAnalyticsId>UA-17511903-1</googleAnalyticsId>
<generateToc>
appendix toc,title
article/appendix nop
article toc,title
book toc,title,figure,table,example,equation
book/appendix nop
book/chapter nop
chapter toc,title
chapter/section nop
section toc
part toc,title
qandadiv toc
qandaset toc
reference toc,title
set toc,title
</generateToc>
<!-- The following elements sets the autonumbering of sections in output for chapter numbers but no numbered sections-->
<sectionAutolabel>1</sectionAutolabel>
<tocSectionDepth>3</tocSectionDepth>
<sectionLabelIncludesComponentLabel>1</sectionLabelIncludesComponentLabel>

<!-- TODO: Rename the webhelpDirname field to the new directory for new document -->
<webhelpDirname>LoPAR_Error_Handling</webhelpDirname>

<!-- TODO: Rename the pdfFilenameBase field to the PDF name for new document -->
<pdfFilenameBase>LoPAR_Error_Handling</pdfFilenameBase>

<!-- TODO: Define the appropriate work product type. These values are defined by the IPR Policy.
Consult with the Work Group Chair or a Technical Steering Committee member if you have
questions about which value to select.
If no value is provided below, the document will default to "Work Group Notes".-->
<!-- workProduct>workgroupNotes</workProduct -->
<workProduct>workgroupSpecification</workProduct>
<!-- workProduct>candidateStandard</workProduct -->
<!-- workProduct>openpowerStandard</workProduct -->

<!-- TODO: Set the appropriate security policy for the document. For documents
which are not "public" this will affect the document title page and
create a vertical running ribbon on the internal margin of the
security status in all CAPS. Values and definitions are formally
defined by the IPR policy. A layman's definition follows:

public = this document may be shared outside the
foundation and thus this setting must be
used only when completely sure it allowed
foundationConfidential = this document may be shared freely with
OpenPOWER Foundation members but may not be
shared publicly
workgroupConfidential = this document may only be shared within the
work group and should not be shared with
other Foundation members or the public

The appropriate starting security for a new document is "workgroupConfidential". -->
<security>workgroupConfidential</security>
<!-- security>foundationConfidential</security -->
<!-- security>public</security -->

<!-- TODO: Set the appropriate work flow status for the document. For documents
which are not "published" this will affect the document title page
and create a vertical running ribbon on the internal margin of the
security status in all CAPS. Values and definitions are formally
defined by the IPR policy. A layman's definition follows:

published = this document has completed all reviews and has
been published
draft = this document is actively being updated and has
not yet been reviewed
review = this document is presently being reviewed

The appropriate starting security for a new document is "draft". -->
<documentStatus>draft</documentStatus>
<!-- documentStatus>review</documentStatus -->
<!-- documentStatus>publish</documentStatus -->

</configuration>
</execution>
</executions>
<configuration>
<!-- These parameters apply to pdf and webhelp -->
<xincludeSupported>true</xincludeSupported>
<sourceDirectory>.</sourceDirectory>
<includes>
<!-- TODO: If you desire, you may change the following filename to something more appropriate for the new document -->
bk_main.xml
</includes>

<!-- **TODO: Set to the correct project URL. This likely needs input from the TSC. -->
<!-- canonicalUrlBase>http://openpowerfoundation.org/docs/template-guide/content</canonicalUrlBase -->
<glossaryCollection>${basedir}/../glossary/glossary-terms.xml</glossaryCollection>
<includeCoverLogo>1</includeCoverLogo>
<coverUrl>www.openpowerfoundation.org</coverUrl>
</configuration>
</plugin>
</plugins>
</build>
</project>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="dbdoclet.50569332_16852">
<title>Error and Event Reporting</title>
<para>The error and event reporting RTAS calls are designed to provide an
abstract interface into hardware registers in the system that may contain
correctable or non-correctable errors and to provide an abstract interface
to certain platform events that may be of interest to the OS. Such errors
and events may be detected either by a periodic scan or by an exception trap.
</para>
<para>These functions are not intended to replace the normal error handling
in the OS. Rather, they enhance the OS&#8217;s abilities by providing an
abstract interface to check for, report, and recover from errors or events
on the platform that are not necessarily known to the OS. </para>
<para>The OS uses the error and event RTAS calls in two distinct ways:</para>
<orderedlist>
<listitem>
<para>Periodically, the OS calls <emphasis> event-scan</emphasis>
<anchor xml:id="dbdoclet.50569332_marker-7330" xreflabel="event-scan"/> to have
the system firmware check for any errors or events that have occurred. </para>

</listitem>
<listitem>
<para>Whenever the OS receives an interrupt or exception that it cannot
fully process, it calls <emphasis> check-exception.</emphasis></para>
</listitem>
</orderedlist>
<para>The first case covers all errors and events that do not signal their
occurrence with an interrupt or exception. The second case covers those
errors and events that do signal with an interrupt or exception. It is
platform dependent whether any specific error or event causes an interrupt
on that platform.</para>
<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_16852"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>RTAS must return the event generated by a
particular interrupt or event source by either
<emphasis> check-exception</emphasis> or <emphasis> event-scan</emphasis>,
but not both.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_16852"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis> check-exception </emphasis>
and <emphasis> event-scan</emphasis> , on a 64-bit capable platform, must
be able to handle platform resources that are accessed using 64-bit
addresses when instantiated in 32-bit mode. </para>
</listitem>
</varlistentry>

</variablelist>
</section>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -166,8 +166,8 @@
<table frame="all" pgwide="1" xml:id="dbdoclet.50569337_45557">
<title>EPOW Action Codes</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="30*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="30*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="60*" />
<thead>
<row>
@ -181,14 +181,14 @@
<emphasis role="bold">Value</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Description</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>EPOW_RESET/MESSAGE</para>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -198,12 +198,12 @@
<table frame="all" pgwide="1" xml:id="dbdoclet.50569337_30773">
<title>Error Indications for System Operations</title>
<tgroup cols="6">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c3" colwidth="20*" align="center" />
<colspec colname="c4" colwidth="20*" align="center" />
<colspec colname="c5" colwidth="20*" align="center" />
<colspec colname="c6" colwidth="20*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="20*" />
<colspec colname="c4" colwidth="20*" />
<colspec colname="c5" colwidth="20*" />
<colspec colname="c6" colwidth="20*" />
<thead>
<row>
<entry>
@ -238,7 +238,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Processor</para>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -28,7 +28,7 @@
information to error logs returned by the
<emphasis>event-scan</emphasis> and
<emphasis>check-exception</emphasis> RTAS services. Refer to
<xref linkend="dbdoclet.50569341_35066"/> for more information on the
<xref linkend="LoPAR.RTAS"/> for more information on the
format and use of location codes. For event logs with Version 6 or later,
the location code of FRU call out is contained in the Primary SRC
section, FRU call out sub-section of the Platform Event Log

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -311,9 +311,10 @@
indicated in decimal unless noted otherwise.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569337_21249">
<title>RTAS Event Return Format (Fixed Part)</title>
<title>RTAS Event Return Format (Fixed Part)
<emphasis>(Continued)</emphasis></title>
<tgroup cols="2">
<colspec colname="c1" colwidth="30*" align="center" />
<colspec colname="c1" colwidth="30*" />
<colspec colname="c2" colwidth="70*" />
<thead>
<row>
@ -323,7 +324,7 @@
number(s))</emphasis>
</para>
</entry>
<entry align="center">
<entry>
<para>
<emphasis role="bold">Description, Values (Described in
<xref linkend="dbdoclet.50569337_75663"/>)</emphasis>
@ -331,7 +332,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Version (0:7)</para>
@ -465,9 +466,8 @@
later)</para>
<para>Dump notification event (228) (for Version 6 or
later)</para>
<para>Hot-plug-events (229) (for Version 6 or later)</para>
<para>&#160;</para>
<para>Vendor-specific events(230-255): Non-architected</para>
<para>Vendor-specific events(229-255): Non-architected</para>
<para>&#160;</para>
<para>Other (0): none of the above</para>
</entry>
@ -634,9 +634,6 @@
<para>For the EPOW Type, the EPOW section must be provided.</para>
</listitem>

<listitem>
<para>For the HOTPLUG Type, the Hotplug section must be provided.</para>
</listitem>
</orderedlist>
</listitem>
@ -663,8 +660,8 @@
<table frame="all" pgwide="1" xml:id="dbdoclet.50569337_85491">
<title>RTAS General Extended Event Log Format, Version 6</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -674,12 +671,12 @@
<entry>
<para><emphasis role="bold">Bit</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="7">
<para>0</para>
@ -860,8 +857,8 @@
<title>Overview of Platform Event Log Format, Version
6</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -871,12 +868,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>12-15</para>
@ -1037,19 +1034,6 @@
<xref linkend="dbdoclet.50569337_54366"/>.</para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>???</para>
</entry>
<entry>
<para>Hotplug Section (ID = “HP”). Optional, present only for
Hotplug event notification. If present, this section follows
Main-B section. See <xref linkend="error.hotplug"/>.</para>
</entry>
</row>
<row>
<entry>
<para>...- 2047</para>
@ -1075,8 +1059,8 @@
<title>Platform Event Log Format, Version 6, Main-A
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -1086,12 +1070,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -1287,8 +1271,8 @@
<title>Platform Event Log Format, Version 6, Main-B
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -1298,12 +1282,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -1896,8 +1880,8 @@
<title>Platform Event Log Format, Version 6, Logical
Resource Identification Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -1907,12 +1891,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -2051,8 +2035,8 @@
<title>Platform Event Log Format, Version 6, Primary SRC
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -2062,12 +2046,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -2356,8 +2340,8 @@
<title>Platform Event Log Format, Version 6, FRU Call-out
Structure</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -2367,12 +2351,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -2746,8 +2730,8 @@
<title>Platform Event Log Format, Version 6, Dump Locator
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -2757,12 +2741,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -2927,8 +2911,8 @@
<title>Platform Event Log Format, Version 6, EPOW
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -2938,12 +2922,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -3088,8 +3072,8 @@
<title>Platform Event Log Format, Version 6, IO Events
Section</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3099,12 +3083,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -3232,8 +3216,6 @@
<para>0x04 = Node off-line</para>
<para>0x05 = platform-dump-max-size change</para>
<para>0x08 = Generic Notification</para>
<para>0x09 = Platform protection of NVDIMM contents enabled</para>
<para>0x0A = Platform protection of NVDIMM contents disabled</para>
<para>All other values = Reserved</para>
</entry>
</row>
@ -3286,8 +3268,8 @@
<title>Platform Event Log Format, Version 6, Failing
Enclosure MTMS</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3297,12 +3279,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -3431,12 +3413,12 @@
<title>Platform Event Log Format, Version 6, Impacted
Partitions</title>
<tgroup cols="6">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c3" colwidth="20*" align="center" />
<colspec colname="c4" colwidth="20*" align="center" />
<colspec colname="c5" colwidth="20*" align="center" />
<colspec colname="c6" colwidth="20*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="20*" />
<colspec colname="c4" colwidth="20*" />
<colspec colname="c5" colwidth="20*" />
<colspec colname="c6" colwidth="20*" />
<thead>
<row>
<entry>
@ -3459,7 +3441,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0</para>
@ -3583,8 +3565,8 @@
<title>Platform Error Event Log Format, Version 6, Failing
Memory Address</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3594,12 +3576,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x00</para>
@ -3720,8 +3702,8 @@
<table frame="all" pgwide="1">
<title>UE Error Information</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3731,12 +3713,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x11</para>
@ -3819,8 +3801,8 @@
<table frame="all" pgwide="1">
<title>SLB Error Information</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3830,12 +3812,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x11</para>
@ -3901,8 +3883,8 @@
<table frame="all" pgwide="1">
<title>ERAT Error Information</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3912,12 +3894,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x11</para>
@ -3983,8 +3965,8 @@
<table frame="all" pgwide="1">
<title>TLB Error Information</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c1" colwidth="10*" />
<colspec colname="c2" colwidth="10*" />
<colspec colname="c3" colwidth="80*" />
<thead>
<row>
@ -3994,12 +3976,12 @@
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry align="center">
<entry>
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>0x11</para>
@ -4068,217 +4050,6 @@
</section>

<section xml:id="error.hotplug">
<title>Platform Event Log Format, Hotplug Section</title>

<table frame="all" pgwide="1" xml:id="table.error.hotplug">
<title>Platform Error Event Log Format, Version 6, Hotplug Section</title>
<tgroup cols="4">
<colspec colname="c1" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c3" colwidth="5*" />
<colspec colname="c4" colwidth="75*" />
<thead valign="top">
<row>
<entry>
<para><emphasis role="bold">Offset</emphasis></para>
</entry>
<entry>
<para><emphasis role="bold">Length in Bytes</emphasis></para>
</entry>
<entry namest='c3' nameend='c4' align="center">
<para><emphasis role="bold">Description</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="top">
<row>
<entry>
<para>0x00</para>
</entry>
<entry>
<para>2</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Section ID: A two-ASCII character field which uniquely
identifies the type of section. Value = “HP”.</para>
</entry>
</row>
<row>
<entry>
<para>0x02</para>
</entry>
<entry>
<para>2</para>
</entry>
<entry namest='c3' nameend='c4' >
<para>Section length: Length in bytes of the section, including
the section ID.</para>
</entry>
</row>
<row>
<entry>
<para>0x04</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Section Version</para>
</entry>
</row>
<row>
<entry>
<para>0x05</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Section subType</para>
</entry>
</row>
<row>
<entry>
<para>0x06</para>
</entry>
<entry>
<para>2</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Creator Component ID</para>
</entry>
</row>
<row>
<entry>
<para>0x08</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Hotplug Resource Type.<?linebreak?>
0x01 = CPU<?linebreak?>
0x02 = Memory<?linebreak?>
0x03 = SLOT<?linebreak?>
0x04 = PHB<?linebreak?>
0x05 = PCI</para>
</entry>
</row>
<row>
<entry>
<para>0x09</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Hotplug Action<?linebreak?>
0x01 = Add<?linebreak?>
0x02 = Remove</para>
</entry>
</row>
<row>
<entry>
<para>0x0A</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry namest='c3' nameend='c4'>
<para>Hotplug Identifier Type<?linebreak?>
0x01 = drc name, resource is identified by drc name<?linebreak?>
0x02 = drc index, resource is identified by drc index<?linebreak?>
0x03 = drc count, number of resources to act upon<?linebreak?>
0x04 = drc count indexed, number of resources to act upon beginning at the specified drc index</para>
</entry>
</row>

<row>
<entry morerows='3'>
<para>0x0B</para>
</entry>
<entry morerows='3'>
<para>1</para>
</entry>
<entry align="center">
<para><emphasis role="bold">Bit</emphasis></para>
</entry>
<entry align="center">
<para><emphasis role="bold">Hotplug Event Capability Description</emphasis></para>
</entry>
</row>
<row>
<entry align="center">
<para>0</para>
</entry>
<entry>
<para>1 = Hotplug Token Present</para>
</entry>
</row>
<row>
<entry align="center">
<para>1</para>
</entry>
<entry>
<para>0 = Transactional Request: When using “drc count”or “drc count indexed”as the Hotplug
Identifier, the OS should take steps to verify the entirety of the request can be satisfied
before proceeding with the hotplug / unplug operations. If only a partial count can be
satisfied, the OS should ignore the entirety of the request. If the OS cannot determine
this beforehand, it should satisfy the hotplug / unplug request for as many of the
requested resources as possible, and attempt to revert to the original OS / DRC state.</para>
<para>1 = Non-transactional Request: When using “drc count”or “drc count indexed”as the
Hotplug Identifier, the OS should attempt to satisfy as much of the request as possible,
even if it cannot be satisfied for all the DRCs specified.</para>
</entry>
</row>
<row>
<entry align="center">
<para>2:7</para>
</entry>
<entry>
<para>Reserved</para>
</entry>
</row>

<row>
<entry>
<para>0x0C</para>
</entry>
<entry>
<para>Variable</para>
</entry>
<entry namest='c3' nameend='c4' >
<para>Hotplug Identifier<?linebreak?>
Variable length field depending on the Hotplug Identifier Type specified.
For drc name, this field is a null-terminated ASCII character field containing
the drc name of the resource to hotplug.</para>
<para>For drc index, this is 4 byte field with the drc index of the resource to hotplug.</para>
<para>For drc count, this is a 4 byte field with the number of resources to hotplug.</para>
<para>For drc count indexed, this is two 4 byte fields the first being the number of resources
to hotplug and the second being the drc index at which to start.</para>
</entry>
</row>
<row>
<entry>
<para>(Section Length - 4)</para>
</entry>
<entry>
<para>4</para>
</entry>
<entry namest='c3' nameend='c4' >
<para>Hotplug Token<?linebreak?>
Present only if corresponding Hotplug Event Capability bit is set.</para>
<para>Integer value that can be used in conjunction with other fields of the hotplug
event structure (Hotplug Indentifier, Hotplug Type, etc.) to allow OS to associate
hotplug event with the request which generated it for the purposes of providing
feedback to the requestor, such as debugging or error information.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</section>
</section>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -23,19 +23,11 @@
<title>Hot Plug Events</title>
<para>Hot Plug Events, when implemented, are reported through
either the event-scan RTAS call or a hotplug interrupt.</para>

<para>An OS that wants to be notified of hotplug events will need to
set the appropriate arch-vector bit. Look for the hot-plug-events
node in the /event-sources node of the OF device tree (see
<xref linkend="sec_papr_bindings_hot_plug_events" />), enable the interrupts listed
in its “interrupts” property and provide an interrupt handler to call
check-exception when one of those interrupts are received.</para>

<para>When a hotplug event occurs, whether reported by check-exception
or event-scan, RTAS will directly pass back the Hotplug Event Log as
described in <xref linkend="table.error.hotplug" />.</para>
<para>Hot Plug Events, when implemented, are reported through the
event-scan RTAS call. These events are surfaced through the fixed
portions of the RTAS return value. (see
<xref linkend="dbdoclet.50569337_21249"/>) Some parts of the system may
be modified without direct support from the OS.</para>
<variablelist>

@ -1,363 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="app_coherent_platform_facility_error_handling_recovery">
<title>Coherent Platform Facility Error Handling and Recovery</title>

<para>During the course of operation, a coherent platform function can encounter errors.
Some possible reason for errors are:</para>

<itemizedlist>
<listitem>
<para>Hardware recoverable and unrecoverable errors</para>
</listitem>
<listitem>
<para>Transient and over-threshold correctable errors</para>
</listitem>
</itemizedlist>

<para>This architecture is not meant to contain an exhaustive list of errors,
implementations can vary.</para>

<section xml:id="app_capi_error_states">
<title>Error States</title>

<informaltable frame="all" pgwide="1">
<tgroup cols="3">
<colspec colname="c1" colwidth="25*" align="center" />
<colspec colname="c2" colwidth="10*" align="center" />
<colspec colname="c2" colwidth="65*" />
<thead valign="middle">
<row>
<entry>
<para>
<emphasis role="bold">State</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Value</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Description</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle">
<row>
<entry>
<para>Normal</para>
</entry>
<entry>
<para>1</para>
</entry>
<entry>
<para>Coherent platform function is operating normally. This is the
default state.</para>
</entry>
</row>
<row>
<entry>
<para>Disabled</para>
</entry>
<entry>
<para>2</para>
</entry>
<entry>
<para>Coherent platform function is operating, but all process
execution is disabled.</para>
</entry>
</row>
<row>
<entry>
<para>Temporarily Unavailable</para>
</entry>
<entry>
<para>3</para>
</entry>
<entry>
<para>Platform has initiated error recovery and the coherent
platform function is temporarily not available.</para>
</entry>
</row>
<row>
<entry>
<para>Permanently Unavailable</para>
</entry>
<entry>
<para>4</para>
</entry>
<entry>
<para>Platform has encountered a fatal error with the coherent platform
function. Recovery is impossible, without partition reboot, DLPAR
re-assignment, system reboot or hardware replacement.</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>

<section xml:id="app_coherent_platform_function_state_transitions">
<title>Coherent Platform Function State Transitions</title>

<informaltable frame="all" pgwide="1" >
<tgroup cols="5">
<colspec colname="c1" colwidth="20*" align="center" />
<colspec colname="c2" colwidth="20*" align="center" />
<colspec colname="c3" colwidth="20*" align="center" />
<colspec colname="c4" colwidth="20*" align="center" />
<colspec colname="c5" colwidth="20*" align="center" />
<thead valign="middle">
<row>
<entry morerows="1">
<para><emphasis role="bold">Initial State</emphasis></para>
</entry>
<entry namest='c2' nameend='c5'>
<para>Final State</para>
</entry>
</row>
<row>
<entry>
<para><emphasis role="bold">1</emphasis><?linebreak?>
<emphasis role="bold">Normal</emphasis></para>
</entry>
<entry>
<para><emphasis role="bold">2</emphasis><?linebreak?>
<emphasis role="bold">Disabled</emphasis></para>
</entry>
<entry>
<para><emphasis role="bold">3</emphasis><?linebreak?>
<emphasis role="bold">Temporarily Unavailable</emphasis></para>
</entry>
<entry>
<para><emphasis role="bold">4</emphasis><?linebreak?>
<emphasis role="bold">Permanently Unavailable</emphasis></para>
</entry>
</row>
</thead>
<tbody valign="middle">
<row>
<entry>
<para>1<?linebreak?>Normal</para>
</entry>
<entry>
<?dbhtml bgcolor="#87878a" ?><?dbfo bgcolor="#87878a" ?>
<para>&#160;</para>
</entry>
<entry>
<para>Platform initiated action</para>
</entry>
<entry>
<para>Platform initiated action during recovery /
H_CONTROL_<?linebreak?>CA_FUNCTION Read Error State</para>
</entry>
<entry>
<para>Platform detected permanent error</para>
</entry>
</row>
<row>
<entry>
<para>2<?linebreak?>Disabled</para>
</entry>
<entry>
<para>H_CONTROL_<?linebreak?>CA_FUNCTION / Reset or Partition Reboot /
DLPAR re-assignment</para>
</entry>
<entry>
<?dbhtml bgcolor="#87878a" ?><?dbfo bgcolor="#87878a" ?>
<para>&#160;</para>
</entry>
<entry>
<para>Platform initiated action</para>
</entry>
<entry>
<para>Platform detected permanent error</para>
</entry>
</row>
<row>
<entry>
<para>3<?linebreak?>Temporarily Unavailable</para>
</entry>
<entry>
<?dbhtml bgcolor="#dec69e" ?><?dbfo bgcolor="#dec69e" ?>
<para>Not a valid transition, must go through state 2</para>
</entry>
<entry>
<para>Platform initiated action after recovery</para>
</entry>
<entry>
<?dbhtml bgcolor="#87878a" ?><?dbfo bgcolor="#87878a" ?>
<para>&#160;</para>
</entry>
<entry>
<para>Platform detected permanent error</para>
</entry>
</row>
<row>
<entry>
<para>4<?linebreak?>Permanently Unavailable</para>
</entry>
<entry>
<para>Partition reboot or DLPAR reassignment</para>
</entry>
<entry>
<?dbhtml bgcolor="#dec69e" ?><?dbfo bgcolor="#dec69e" ?>
<para>Not a valid transition</para>
</entry>
<entry>
<para>H_CONTROL_<?linebreak?>CA_FACILITY / Reset</para>
</entry>
<entry>
<?dbhtml bgcolor="#87878a" ?><?dbfo bgcolor="#87878a" ?>
<para>&#160;</para>
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</section>

<section xml:id="app_general_error_recovery_procedure">
<title>General Error Recovery Procedure</title>

<para>The following flow is a description of the general error recovery steps
required to reset operation of the coherent platform function. This recovery
is initiated by platform firmware or after an error is detected by the OS.</para>

<orderedlist>
<listitem>
<para>If necessary, platform firmware freezes OS MMIO access for coherent
platform function, error information is col- lected and cached in platform
firmware for later retrieval by OS.</para>
</listitem>
<listitem>
<para>Platform firmware terminates and removes all processes and disables
coherent platform function if possible.</para>
</listitem>
<listitem>
<para>The error state for the coherent platform function changes to
Temporarily Unavailable.</para>
</listitem>
<listitem>
<para>Platform firmware resets and reconfigures hardware associated with
coherent platform function.</para>
</listitem>
<listitem>
<para>Platform firmware unfreezes OS MMIO access and sets coherent
platform function to Disabled.</para>
</listitem>
<listitem>
<para>OS calls H_CONTROL_CA_FUNCTION with operation of “Read Error State”
until it observes state of Disabled.</para>
</listitem>
<listitem>
<para>Optionally, OS collects any coherent platform function error data via
H_CONTROL_CA_FUNCTION with operation of “Get Error Buffer” and “Get Error
Log”.</para>
</listitem>
<listitem>
<para>OS calls H_CONTROL_CA_FUNCTION with operation of “Get Download Status”
in order to determine if a download is required for the coherent platform
function, if so, OS performs the download. After the download the coherent
platform function is still in Disabled error state.</para>
</listitem>
<listitem>
<para>OS calls <emphasis>ibm,update-nodes</emphasis> and
<emphasis>ibm,update-properties</emphasis> for the affected
coherent platform facility in order to receive current configuration values.</para>
</listitem>
<listitem>
<para>OS uses H_CONTROL_CA_FUNCTION with operation of “Reset” to change the
coherent platform function error state back to Normal.</para>
</listitem>
</orderedlist>
</section>

<section xml:id="app_os_application_detected_error">
<title>OS Application Detected Error</title>

<para>Application detects an error, using implementation dependent methods.</para>

<orderedlist>
<listitem>
<para>Application detects an error and determines a reset is necessary.</para>
</listitem>
<listitem>
<para>Application asks the OS to perform a reset to the AFU.</para>
</listitem>
<listitem>
<para>OS calls H_CONTROL_CA_FUNCTION with operation of “Reset”.</para>
</listitem>
<listitem>
<para>Platform firmware performs a reset to the coherent platform function.
See H_CONTROL_CA_FUNCTION with “Reset” operation for details.</para>
</listitem>
<listitem>
<para>OS receives return code from H_CONTROL_CA_FUNCTION indicating if the
reset was successful.</para>
</listitem>
<listitem>
<para>If necessary, the OS can performs a download of the coherent platform
function via H_DOWNLOAD_CA_FUNCTION.</para>
</listitem>
<listitem>
<para>OS then re-attachs process contexts as necessary and the application
resumes normal operation.</para>
</listitem>
<listitem>
<para>If Reset operation does not clear error, OS should signal serviceable
error to HMC and discontinue use of coherent platform function.</para>
</listitem>
</orderedlist>
</section>

<section xml:id="app_os_application_download">
<title>Application Download</title>

<para>There are some instances in which the OS would like to re-download a c
oherent platform function in operation. This could be due to unexpected
behavior or bad state.</para>

<orderedlist>
<listitem>
<para>OS resets the coherent platform function by calling
H_CONTROL_CA_FUNCTION with operation of “Reset”. The reset
clears the download state.</para>
</listitem>
<listitem>
<para>OS performs download to coherent platform function using
H_DOWNLOAD_CA_FUNCTION and after a successful download.</para>
</listitem>
<listitem>
<para>OS calls <emphasis>ibm,update-nodes</emphasis> and
<emphasis>ibm,update-properties</emphasis> for the affected
coherent platform facility in order to receive current configuration values.</para>
</listitem>
<listitem>
<para>OS can attach processes and proceed with operation.</para>
</listitem>
</orderedlist>
</section>
</appendix>

File diff suppressed because it is too large Load Diff

@ -1,422 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="bk_main">

<!-- TODO: When ready to publish document, remove the 'status="draft"' statement from the book object above. -->

<title>Linux on Power Architecture Reference</title>
<subtitle>A PAPR Linux Subset</subtitle>

<info>
<author>
<personname>
<surname>System Software Work Group</surname>
</personname>
<email>syssw-chair@openpowerfoundation.org</email>
<affiliation>
<orgname>OpenPOWER Foundation</orgname>
</affiliation>
</author>
<copyright>
<year>2016, 2018, 2020</year>
<holder>OpenPOWER Foundation</holder>
</copyright>
<!-- TODO: Set the correct document releaseinfo -->
<releaseinfo>Revision 2.9</releaseinfo>
<productname>OpenPOWER</productname>
<pubdate/>

<legalnotice role="apache2">

<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>

<!-- TODO: Update the following text with the correct document description (first paragraph),
Work Group name, and Work Product track (both in second paragraph). -->
<abstract>
<para>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
<link xlink:href="https://openpowerfoundation.org/?resource_lib=linux-on-power-architecture-platform-reference"><citetitle>IBM
Linux on Power Architecture Platform Reference (LoPAPR) Draft</citetitle></link>
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.</para>

<para>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
<citetitle>OpenPOWER Foundation Work Group (WG) Process</citetitle> document. It was
created using the <citetitle>Master Template Guide</citetitle> 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
<link xlink:href="mailto:syssw-linux_architecture_ref@mailinglist.openpowerfoundation.org">syssw-linux_architecture_ref@mailinglist.openpowerfoundation.org</link>.</para>
</abstract>

<revhistory>
<!-- TODO: Update as new revisions created -->
<revision>
<date>2020-08-12</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.9:
<itemizedlist spacing="compact">
<listitem><para>First published Workgroup Note</para></listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2020-06-11</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.9_pre7:
<itemizedlist spacing="compact">
<listitem><para>First public review, remove Confidential markings</para></listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2020-04-20</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.9_pre6:
<itemizedlist spacing="compact">
<listitem><para>Re-merge 5 sub-docs back into one matching PAPR.</para></listitem>
<listitem><para>Set Revision to match PAPR spec level (2.9).</para></listitem>
<listitem><para>Miscellaneous formatting improvements. No technical updates.</para></listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2020-04-06</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 0.5_pre5 - Updates to include latest PAPR ACRs (2.9) as follows:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Add H_VIOCTL subfunctions for VNIC failover support</para>
</listitem>
<listitem>
<para>Add H_VIOCTL subfunction for virtual ethernet MAC scan functionality</para>
</listitem>
<listitem>
<para>Add H_VIOCTL subfunctions for virtual scsi and FC mobility preparation functionality</para>
</listitem>
<listitem>
<para>ibm,current-associativity-domain property</para>
</listitem>
<listitem>
<para>HPT resizing option - KVM only</para>
</listitem>
<listitem>
<para>Add Coherent Platform Facilities (CAPI)</para>
</listitem>
<listitem>
<para>XIVE Exploitation</para>
</listitem>
<listitem>
<para>Add 'OCC online/offline' events to 'IE' error log subsection</para>
</listitem>
<listitem>
<para>LPM Redundancy Phase II: Redundancy</para>
</listitem>
<listitem>
<para>Add optional sub-queue support to VFC on P9 and newer</para>
</listitem>
<listitem>
<para>Increase max num-entries for H_SEND_SUB_CRQ_INDIRECT to 128</para>
</listitem>
<listitem>
<para>Add Virtual Serial Multiplex adapter interfaces</para>
</listitem>
<listitem>
<para>Maximum size of Dispatch Trace Log Buffer</para>
</listitem>
<listitem>
<para>Eliminate requirement for clearing TCP checksum field for ILLAN checksum calculation</para>
</listitem>
<listitem>
<para>Continued Extension of H_Send_Logical_LAN for large send packets</para>
</listitem>
<listitem>
<para>Add LPM Capablity keyword to RTAS AIX Support system parameter</para>
</listitem>
<listitem>
<para>XIVE Exploitation addition: Add ESB Reset Status to RTAS ibm,read-slot-reset-state2</para>
</listitem>
<listitem>
<para>Add NVDIMM Protection and Encryption State system parameters</para>
</listitem>
<listitem>
<para>Change or Remove 0x9 and 0xA event subtypes for 'IE' error log subsection</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Additional, post PAPR 2.9 ACRs as follows:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Reserve a range of hcalls to to support Ultravisor</para>
</listitem>
<listitem>
<para>Add New CAS Bit For SRIOV Virtual Function (VF) Dynamic DMA Window (DDW) Support</para>
</listitem>
<listitem>
<para>Updates to support vTPM 2.0</para>
</listitem>
<listitem>
<para>Update XIVE Legacy hcalls to add H_Function</para>
</listitem>
<listitem>
<para>Add NVDIMM Secure Erase Command system parameter</para>
</listitem>
<listitem>
<para>Update H_REGISTER_VPA to add H_STATE return code for VPA and SLB shadow buffer.</para>
</listitem>
<listitem>
<para>Extend Firmware Assisted Dump for ISA Version 3.0</para>
</listitem>
<listitem>
<para>Add a new return code, H_NOT_AVAILABLE, to start-cpu rtas call</para>
</listitem>
<listitem>
<para>Document already-implemented NVRAM variables</para>
</listitem>
<listitem>
<para>Update ibm,dynamic-memory-vN flags to include a "Hotplugged Memory" flag</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2019-01-08</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 0.5_pre4 - Update document type to Work Group Note. Final review ready.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2018-07-30</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 0.5_pre3 - Updates to documentation in preparation for System SW WG review:</para>
<orderedlist spacing="compact">
<listitem>
<para>Reset document version to 0.5</para>
</listitem>
<listitem>
<para>Improved Abstract</para>
</listitem>
</orderedlist>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2017-10-11</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 2.0_pre2 - Updates to include latest PAPR ACRs (2.8) as follows:</para>
<itemizedlist spacing="compact">
<listitem>
<para>ISA 2.07 privileged doorbell extensions (9/16/2012)</para>
</listitem>
<listitem>
<para>POWER ISA Name Change Category Vector.XOR to Vector.CRYPTO (11/4/2012)</para>
</listitem>
<listitem>
<para>Enable Multiple Redirected RDMA mappings per page (3/5/2013)</para>
</listitem>
<listitem>
<para>Add Block Invalidate Option (3/5/2013)</para>
</listitem>
<listitem>
<para>Implementation Dependent Optimizations (3/13/2013)</para>
</listitem>
<listitem>
<para>System Firmware Service Entitlement Date (Warranty Date) Check (4/3/2013)</para>
</listitem>
<listitem>
<para>New Function for ibm,change-msi to specify 32 bit MSI (5/14/2013)</para>
</listitem>
<listitem>
<para>Remove Client-Architecture-Support bit for UUID option (4/16/2013)</para>
</listitem>
<listitem>
<para>AddClient Architecture Support bit for RTAS ibm,change-msi (5/28/2013)</para>
</listitem>
<listitem>
<para>Add VNIC Server (5/24/2014)</para>
</listitem>
<listitem>
<para>VPA changes for P8 (EBB) (5/24/2013)</para>
</listitem>
<listitem>
<para>Add an hcall to clean up the entire MMU hashtable (11/20/2013)</para>
</listitem>
<listitem>
<para>Add LPCR[ILE] support to H_SET_MODE (5/31/2013)</para>
</listitem>
<listitem>
<para>New Root Node Properties (1/12/2016)</para>
</listitem>
<listitem>
<para>Extended Firmware Assisted Dump for P8 Registers (1/24/2014)</para>
</listitem>
<listitem>
<para>Sufficient H_COP_OP output buffer (6/21/2014)</para>
</listitem>
<listitem>
<para>Extend H_SEND_LOGICAL_LAN for large send packets (6/29/2014)</para>
</listitem>
<listitem>
<para>Extend H_GET_MPP_X reporting coalesced pages (8/24/2014)</para>
</listitem>
<listitem>
<para>Update ibm,pcie-link-speed-stats property to support PCIe 3.0 link speeds (6/12/2015)</para>
</listitem>
<listitem>
<para>Extend ibm,get-system-parameters RTAS to report Energy Management Tuning Parameters (3/18/2015)</para>
</listitem>
<listitem>
<para>Additional System Parameters related to mgmt of FW Service Entitlement Warranty period (6/22/2015)</para>
</listitem>
<listitem>
<para>Additional System Parameter to read LPAR Name string (10/7/2015)</para>
</listitem>
<listitem>
<para>Redesign of properties for DRC information and dynamic memory (7/23/2015)</para>
</listitem>
<listitem>
<para>Add additional logical loction code sections (3/4/2016)</para>
</listitem>
<listitem>
<para>Add ibm,vnic-client-mac to support vNIC failover (2/29/2016)</para>
</listitem>
<listitem>
<para>hcall for registering the process table (3/21/2016)</para>
</listitem>
<listitem>
<para>New device tree property for UUID (3/21/2016)</para>
</listitem>
<listitem>
<para>Changes for Hotplug RTAS Events (10/24/2016)</para>
</listitem>
<listitem>
<para>Support 64-bit PE TCEs in ibm,query-pe-dma-window (7/14/2016)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2016-05-04</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 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).</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>

<!-- The ch_preface.xml file is required by all documents -->
<xi:include href="../../Docs-Master/common/ch_preface.xml"/>
<xi:include href="ch_LoPAPR_preface.xml"/>

<!-- Chapter heading files -->
<xi:include href="ch_introduction.xml"/>
<xi:include href="ch_system_reqs.xml"/>
<xi:include href="ch_address_map.xml"/>
<xi:include href="ch_processors_memory.xml"/>
<xi:include href="ch_io_topology.xml"/>
<xi:include href="ch_interrupt_controller.xml"/>
<xi:include href="ch_rtas.xml"/>
<xi:include href="ch_nonvolatile_memory.xml"/>
<xi:include href="ch_io_devices.xml"/>
<xi:include href="ch_notifications.xml"/>
<xi:include href="ch_smp.xml"/>
<xi:include href="ch_product_topology.xml"/>
<xi:include href="ch_dynamic_reconfig.xml"/>
<xi:include href="ch_lpar_option.xml"/>
<xi:include href="ch_numa.xml"/>
<xi:include href="ch_service_indicators.xml"/>
<xi:include href="ch_virtual_io.xml"/>

<!-- Document specific appendices -->
<xi:include href="app_splar.xml"/>
<xi:include href="app_papr_binding.xml"/>
<xi:include href="app_pa_processor_binding.xml"/>
<xi:include href="app_virtual_tty.xml"/>
<xi:include href="app_virtual_scsi.xml"/>
<xi:include href="app_vmc_comm.xml"/>
<xi:include href="app_firmware_dump.xml"/>
<xi:include href="app_eeh_handling.xml"/>
<xi:include href="app_cmo_def.xml"/>
<xi:include href="app_platform_hcalls.xml"/>
<xi:include href="app_virtual_nic.xml"/>
<xi:include href="app_virtual_tpm.xml"/>
<xi:include href="app_fault_v_errorlog.xml"/>
<xi:include href="app_capi_error_handling.xml"/>

<xi:include href="app_bibliography.xml"/>
<xi:include href="app_glossary.xml"/>

<!-- The app_foundation.xml appendix file is required by all documents. -->
<xi:include href="../../Docs-Master/common/app_foundation.xml"/>

<xi:include href="app_EOD.xml"/>

</book>

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0" xml:lang="en">

<title>Run-Time Abstration Services</title>

<xi:include href="sec_rtas_introduction.xml"/>
<xi:include href="sec_rtas_environment.xml"/>
<xi:include href="sec_rtas_call_defn.xml"/>

</chapter>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

@ -1,174 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="sec_pa_processor_binding_terms">

<title>Terms</title>

<para>This standard uses technical terms as they are defined in the
IEEE Std 1275-1994 Standard and other
documents cited in &#8220;References&#8221;, plus the following
terms:</para>

<variablelist>

<varlistentry>
<term><emphasis role="bold">core, core specification, core document</emphasis></term>
<listitem>
<para>Refers to IEEE Std 1275-1994 Standard for Boot (Initialization,
Configuration) Firmware, Core Practices and Requirements</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">core errata</emphasis></term>
<listitem>
<para>Refers to Core Errata, IEEE P1275.7</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">effective address</emphasis></term>
<listitem>
<para>The 64- or 32-bit address computed by the processor
when executing a Storage Access or Branch instruction, or when fetching the
next sequential instruction. If address translation is disabled, the real
address is the same as the effective address. If address translation is
enabled, the real address is determined by, but not necessarily identical
to, the effective address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">linkage area</emphasis></term>
<listitem>
<para>An area within the stack that is reserved for saving
certain registers across procedure calls in PA run-time models. This area
is reserved by the caller and is allocated above the current stack pointer
(<literal>%r1</literal>).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">Open Firmware (OF)</emphasis></term>
<listitem>
<para>The firmware architecture defined by
<xref linkend="dbdoclet.50569387_45524" /> and
<xref linkend="dbdoclet.50569387_14175" />, or, when used as an adjective,
a software component compliant with the core specification and
errata.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">procedure descriptor</emphasis></term>
<listitem>
<para>A data structure used by some PA run-time models
to represent a C &#8220;pointer to procedure&#8221;. The first word of this
structure contains the actual address of the procedure.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">processor bus</emphasis></term>
<listitem>
<para>The bus that connects the CPU chip to the system.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">real address</emphasis></term>
<listitem>
<para>An address that the processor presents on the processor
bus.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">real-mode</emphasis></term>
<listitem>
<para>The mode in which OF and its client are running with
translation disabled; all addresses passed between the client and OF are
real (i.e., hardware) addresses.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">segmented address translation</emphasis></term>
<listitem>
<para>The process whereby an Effective Address (EA) is translated into a
Virtual Address (VA) and the virtual address is translated into a Real
Address (RA). (see
<xref linkend="dbdoclet.50569374_41703" />and Book III of
<xref linkend="dbdoclet.50569387_99718" />for more detail.)</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">suspend</emphasis></term>
<listitem>
<para>A form of Power Management characterized by a fast recovery
to full operation. Typically, system memory will not be powered off while
in the suspend state.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">Table of Contents (TOC)</emphasis></term>
<listitem>
<para>A data structure used by some PA run-time models that is used for
access to global variables and for inter-module linkage. When a TOC is
used,
<emphasis>%r2</emphasis> contains its base address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">Virtual Address</emphasis></term>
<listitem>
<para>In IEEE 1275 parlance, the address that a program uses to access
a memory location or
memory-mapped device register. Depending on the presence or absence of
memory mapping hardware in the system, and whether or not that mapping
hardware is enabled, a virtual address may or may not be the same as the
physical (real) address that appears on an external bus. The IEEE 1275
definition of &#8220;virtual address&#8221; corresponds to The PA's
definition of &#8220;effective address.&#8221; Except as noted, this
document uses the IEEE 1275 definition of virtual address.</para>

<para>In PA parlance, an internal address within the PA address
translation mechanism, used
as in intermediate term in the translation of an effective address to the
corresponding real address.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">virtual-mode</emphasis></term>
<listitem>
<para>The mode in which OF and its client share a single
virtual address space, and address translation is enabled; all addresses
passed between the client and OF are virtual (translated) addresses.</para>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,620 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_67111">
<title><emphasis>ibm,configure-kernel-dump</emphasis> RTAS Call</title>

<para>This RTAS call is used to register and unregister with the platform
a data structure describing kernel dump information. This dump
information is preserved as needed by the platform in support of a
platform assisted kernel dump option.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
option:</emphasis> The platform must implement the
<emphasis>ibm,configure-kernel-dump</emphasis> RTAS call using the
argument call buffer defined by
<xref linkend="dbdoclet.50569332_24141" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_24141">
<title><emphasis>ibm,configure-kernel-dump</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<tbody valign="middle" >
<row>
<entry>
<para>Parameter Type</para>
</entry>
<entry>
<para>Name</para>
</entry>
<entry align="center">
<para>Values</para>
</entry>
</row>
<row>
<entry morerows="5" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,configure-kernel-dump</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>3</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Command</emphasis>
</para>
</entry>
<entry>
<para>1: Register for future kernel dump</para>
<para>2: Unregister for future kernel dump</para>
<para>3: Complete/Invalidate current kernel dump</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work_buffer_address</emphasis>
</para>
</entry>
<entry>
<para>When command is 1: Register for future kernel dump,
points to a structure as defined in
<xref linkend="dbdoclet.50569332_76933" />.</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work_buffer_length</emphasis>
</para>
</entry>
<entry>
<para>Length of Kernel Dump Memory Structure when defined
above</para>
</entry>
</row>
<row>
<entry>
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>0: Success</para>
<para>-1: Hardware Error</para>
<para>-2: Busy</para>
<para>-3: Parameter Error</para>
<para>-9: Dump Already Registered</para>
<para>-10: Dump Active</para>
<para>990x:Extended Delay</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
option:</emphasis> The work-buffer address and work-buffer-length for the
<emphasis>ibm,configure-kernel-dump</emphasis> RTAS call must point to an
RMR-memory buffer that contains the structures described in
<xref linkend="dbdoclet.50569332_76933" />, whenever the command is 1,
register for future kernel dump; otherwise the call may return -3,
&#8220;Parameter Error.&#8221;</para>
<para>The Dump Memory Structure specified in
<xref linkend="dbdoclet.50569332_76933" /> is passed by the operating
system during a
<emphasis>ibm,configure-kernel-dump</emphasis> RTAS call. It is also
reported by the platform using the
<emphasis>ibm,kernel-dump</emphasis> RTAS property after a dump has been
initiated.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_76933">
<title>Kernel Assisted Dump Memory Structure</title>
<tgroup cols="5">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="1*" align="center" />
<colspec colname="c3" colwidth="1*" align="center" />
<colspec colname="c4" colwidth="2*" />
<colspec colname="c5" colwidth="2*" />
<thead>
<row>
<entry nameend="c5" namest="c1">
<para>
<emphasis>Header</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry>
<para>Offset</para>
</entry>
<entry nameend="c3" namest="c2">
<para>Number of Bytes</para>
</entry>
<entry nameend="c5" namest="c4" align="center">
<para>Value</para>
</entry>
</row>
<row>
<entry>
<para>0x0</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Dump Format Version = 0x00000001</para>
</entry>
</row>
<row>
<entry>
<para>0x4</para>
</entry>
<entry nameend="c3" namest="c2">
<para>2</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Number of Kernel Dump Sections</para>
</entry>
</row>
<row>
<entry>
<para>0x6</para>
</entry>
<entry nameend="c3" namest="c2">
<para>2</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Dump Status Flags</para>
<para>A bit mask with value</para>
<para>0x8000 = Dump performed (Set to 0 by caller of the
ibm,configure-kernel-dump call)</para>
<para>0x4000 = Dump was triggered by the previous system boot
(set by platform)</para>
<para>0x2000 = Dump error occurred (set by platform)</para>
<para>All other bits reserved</para>
</entry>
</row>
<row>
<entry>
<para>0x8</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Offset to first Kernel Dump Section, offset from the
beginning of the Structure</para>
</entry>
</row>
<row>
<entry>
<para>0xc</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Number of bytes in a block of the dump-disk, if data to
be written to a dump-disk, If not, should be set to 0
(indicating the no disk dump option.)</para>
</entry>
</row>
<row>
<entry>
<para>0x10</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Starting block# offset on dump-disk (set to 0 for the no
disk dump option)</para>
</entry>
</row>
<row>
<entry>
<para>0x18</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Number of blocks on dump-disk usable for dump (set to 0
for the no disk dump option)</para>
</entry>
</row>
<row>
<entry>
<para>0x20</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Offset from start of structure to a Null-terminated
Dump-disk path string (set to 0 for the no disk dump
option)</para>
</entry>
</row>
<row>
<entry>
<para>0x24</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Maximum time allowed (milliseconds) after
Non-Maskable-Interrupt for the OS to call
<emphasis>ibm,configure-kernel-dump</emphasis>
<emphasis>Function</emphasis> 2 (unregister) to prevent an
automatic dump-reboot (set to 0 to disable the automatic
dump-reboot function)</para>
</entry>
</row>
<row>
<entry nameend="c5" namest="c1">
<para>
<emphasis>Dump-disk Path String</emphasis>
</para>
</entry>
</row>
<row>
<entry>
<para>Offset specified above</para>
</entry>
<entry nameend="c3" namest="c2">
<para>Varies</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Null-terminated Dump-disk path string specifying the
dump-disk. If no disk dump option is indicated, this section is
not included.</para>
</entry>
</row>
<row>
<entry nameend="c5" namest="c1">
<para>
<emphasis>First Kernel Dump Section</emphasis>
</para>
</entry>
</row>
<row>
<entry>
<para>Offset specified above</para>
</entry>
<entry nameend="c3" namest="c2">
<para>4</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Dump Request Flags:</para>
<para>A bit-mask</para>
<para>Bit 0x00000001 When set, firmware to copy source data to
partition memory. This option must be selected if no disk dump
option is indicated.</para>
<para>All other bit values reserved</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+4</para>
</entry>
<entry nameend="c3" namest="c2">
<para>2</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Source Data type, describes section of dump memory being
described</para>
<para>0x0001 = CPU State Data</para>
<para>0x0002 = Hardware Page Table for Real Mode Region</para>
<para>0x0011 = Real Mode Region</para>
<para>0x0012 = Dump OS identified string (identifies that the
dump is for a particular OS type and version)</para>
<para>0x0100 - 0xFFFF OS defined source types</para>
<para>All Other values reserved</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+6</para>
</entry>
<entry nameend="c3" namest="c2">
<para>2</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Dump Error Flags (set by platform)</para>
<para>Bit mask</para>
<para>0x8000 = Invalid section data type</para>
<para>0x4000 = Invalid source address</para>
<para>0x2000 = Requested section length exceeds source</para>
<para>0x1000 = Invalid partition destination address</para>
<para>0x0800 = Partition memory destination too small</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+8</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Source address (logical address if section came from
partition memory, or byte offset if section is platform
memory)</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+16</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Requested data length, represents number of bytes to
dump</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+24</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Actual data length, number of bytes dumped</para>
</entry>
</row>
<row>
<entry>
<para>Section Start+32</para>
</entry>
<entry nameend="c3" namest="c2">
<para>8</para>
</entry>
<entry nameend="c5" namest="c4">
<para>Destination address, logical address used for sections
not written to disk by the platform, always required for a Real
mode region section and for all sections when the no disk dump
option is used.</para>
</entry>
</row>
<row>
<entry nameend="c5" namest="c1">
<para>
<emphasis>Subsequent Sections</emphasis>
</para>
</entry>
</row>
<row>
<entry>
<para>Previous Section Start+40</para>
</entry>
<entry nameend="c3" namest="c2">
<para>Start of Next Section</para>
</entry>
<entry nameend="c5" namest="c4">
<para>A total of up to nine additional 40 bytes sections with
values as described in the First Section may be specified so
long as the entire structure does not exceed 512 bytes for
version 1.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para><emphasis>ibm,os-term</emphasis> RTAS call, or on a system reset without
an
<emphasis>ibm,nmi-interlock</emphasis> RTAS call, if the platform has a
dump structure registered through the
<emphasis>ibm,configure-kernel-dump</emphasis> call, the platform must
process each registered kernel dump section as required and, when
available, present the dump structure information to the operating system
through the
<emphasis role="bold"><literal>&#8220;ibm,kernel-dump&#8221;</literal></emphasis> property, updated with
status for each dump section, until the dump has been invalidated through
the
<emphasis>ibm,configure-kernel-dump</emphasis> RTAS call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para>If <emphasis>ibm,configure-kernel-dump</emphasis> RTAS call is made to
register or unregister for a dump while a dump is currently active, the
platform must return a
<emphasis>Status</emphasis> of -9, &#8220;Dump Active&#8221; indicating
that a dump has been copied by the platform and a call must be made to
complete/invalidate the active dump before another call to register or
unregister a dump can be completed successfully.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>If <emphasis>ibm,configure-kernel-dump</emphasis> RTAS call is made to
register a dump after a dump has already been registered by a call, the
platform must return a
<emphasis>Status</emphasis> of -8, &#8220;Dump Already Registered&#8221;
unless an intervening call was made to invalidate the previously
registered dump.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
Option:</emphasis> Partition memory not specifically mentioned in the call
structure must be preserved by the platform at the same location as
existed prior to the os termination or platform reboot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
Option:</emphasis> The platform must present the RTAS property,
<emphasis role="bold"><literal>&#8220;ibm,configure-kernel-dump-sizes&#8221;</literal></emphasis> in the
OF device tree, which describes how much space is required to store dump
data for the firmware provided dump sections, where the firmware defined
dump sections are:</para>

<itemizedlist>
<listitem>
<para>0x0001 = CPU State Data</para>
</listitem>

<listitem>
<para>0x0002 = Hardware Page Table for Real Mode Region</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
Option:</emphasis> The platform must present the RTAS property,
<emphasis role="bold"><literal>&#8220;ibm-configure-kernel-dump-version&#8221;</literal></emphasis> in
the OF device tree.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_67111"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Configure Platform Assisted Kernel Dump
Option:</emphasis> After a dump registration is disabled (for example, by
a partition migration operation), calls to
<emphasis>ibm,os-term</emphasis> must return to the OS as though a dump
was not registered.</para>
<para>
<emphasis role="bold">Programming Note:</emphasis> The intended flow of interactions
that utilize this call is as follows:</para>

<orderedlist>
<listitem>
<para>The OS registers sections of memory for dump preservation during
OS initialization</para>
</listitem>

<listitem>
<para>The OS terminates abnormally</para>
</listitem>

<listitem>
<para>The Platform moves registered sections of memory as instructed
during dump registration.</para>
</listitem>

<listitem>
<para>The Partition reboots and provides the prior registration data
in the device tree.</para>
</listitem>

<listitem>
<para>The OS writes the preserved memory regions to disk before using
those memory regions for regular use</para>
</listitem>

<listitem>
<para>The OS completes/invalidates current dump status.</para>
</listitem>

<listitem>
<para>The OS must use H_CLEAR_HPT to clear the page table if running
in XIVE Exploitation Mode, H_REMOVE is not a sufficient mechanism
to clear the HPT. Failure to use H_CLEAR_HPT may result in H_READ
returning invalid entries as valid.</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>

</section>

File diff suppressed because it is too large Load Diff

@ -1,287 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_61055">
<title><emphasis>ibm,get-dynamic-sensor-state</emphasis> RTAS Call</title>
<para>This RTAS call behaves as the RTAS
<emphasis>get-sensor-state</emphasis> call, except that the instance of
the sensor is identified by a location code instead of a index.</para>

<variablelist>
<varlistentry xml:id="dbdoclet.50569332_54151">
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>Platforms that
implement any sensors that are identified by location code instead of
index (see Requirement
<xref linkend="dbdoclet.50569332_80480" />) must implement the
<emphasis>ibm,get-dynamic-sensor-state</emphasis> RTAS function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para>The RTAS function
<emphasis>ibm,get-dynamic-sensor-state</emphasis> must implement the
argument call buffer defined by
<xref linkend="dbdoclet.50569332_71500" />.</para>
<para>&#160;</para>
<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_71500">
<title><emphasis>ibm,get-dynamic-sensor-state</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry>
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,get-dynamic-sensor-state</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>
<emphasis>Sensor</emphasis>
</para>
</entry>
<entry>
<para>Token defining the sensor</para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>
<emphasis>Location Code Address</emphasis>
</para>
</entry>
<entry>
<para>Real or Logical address of a location code string, in the
format defined by Requirement
<xref linkend="dbdoclet.50569332_75857" /></para>
</entry>
</row>
<row>
<entry>
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware error</para>
<para>-2: Busy, try again later</para>
<para>-3: No such indicator</para>
<para>0: Success</para>
<para>990x: Extended delay, where x is a number between 0 and
5, as described below</para>
</entry>
</row>
<row>
<entry>
<para>&#160;</para>
</entry>
<entry>
<para>
<emphasis>State</emphasis>
</para>
</entry>
<entry>
<para>Current state of the sensor as defined in the
<emphasis>Defined Values</emphasis> column of
<xref linkend="dbdoclet.50569332_23534" />.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When 990x
<emphasis>Status</emphasis> is returned, it is suggested that software
delay for 10 raised to the power
<emphasis>x</emphasis> milliseconds (where
<emphasis>x</emphasis> is the last digit of the 990x return code), before
calling
<emphasis>ibm,get-dynamic-sensor-state</emphasis> with the same indicator
type and location code. However, software may call
<emphasis>ibm,get-dynamic-sensor-state</emphasis> again either earlier or
later than this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para>The OS must not call
<emphasis>ibm,get-dynamic-sensor-state</emphasis> with a different sensor
until a non-busy return
<emphasis>Status</emphasis> has been received from the previous
<emphasis>ibm,get-dynamic-sensor-state</emphasis> call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para>The work area must be contiguous in real
memory and must reside below 4GB.</para>
</listitem>
</varlistentry>

<varlistentry xml:id="dbdoclet.50569332_75857">
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>The input data
format in the work area must be as follows:</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>32-bit integer length of the location code string, including
NULL</para>
</listitem>

<listitem>
<para>Location code string, NULL terminated, identifying the sensor to
be set.</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para>The platform must not modify the location
code string.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para>The OS must only use this call with sensors
which have been provided by the
<emphasis>ibm,get-indices</emphasis> RTAS call with an index value of
0xFFFFFFFF.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para>The platform must use the
<emphasis>ibm,get-dynamic-sensor-state</emphasis> RTAS call only for
dynamic sensor types of 9004, 9006 and 9007.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_61055"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para>A <emphasis>Status</emphasis> of -3 must be returned for the following
conditions:</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>Sensor type not supported</para>
</listitem>

<listitem>
<para>The specified location code does not identify a valid
sensor</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,454 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="sec_get_indices_rtas_call">

<title><emphasis>ibm,get-indices</emphasis> Call</title>

<para>The RTAS function
<emphasis>ibm,get-indices</emphasis> is used to obtain the indices and
location codes for a specified indicator or sensor token. It allows for
obtaining the list of indicators and sensors dynamically and therefore
assists in any Dynamic Reconfiguration operation that involves indicators
and sensors being added or deleted from the platform (unlike the
<emphasis role="bold"><literal>/rtas</literal></emphasis> node
<emphasis role="bold"><literal>&#8220;</literal></emphasis><emphasis><literal>&lt;vendor&gt;</literal></emphasis><emphasis role="bold"><literal>,indicator-</literal></emphasis><emphasis><literal>&lt;token&gt;</literal></emphasis><emphasis role="bold"><literal>&#8221;</literal></emphasis>,
<emphasis role="bold"><literal>&#8220;</literal></emphasis><emphasis><literal>&lt;vendor&gt;</literal></emphasis><emphasis role="bold"><literal>,sensor-</literal></emphasis><emphasis><literal>&lt;token&gt;</literal></emphasis><emphasis role="bold"><literal>&#8221;</literal></emphasis>,
and <emphasis role="bold"><literal>&#8220;ibm,environmental-sensor&#8221;</literal></emphasis> properties).
This call also allows discontiguous indices for a particular indicator or
sensor type (unlike the
<emphasis role="bold"><literal>&#8220;rtas-indicators&#8221;</literal></emphasis>,
<emphasis role="bold"><literal>&#8220;rtas-sensors&#8221;</literal></emphasis>, and
<emphasis role="bold"><literal>
&#8220;ibm,environmental-sensor&#8221;</literal></emphasis> properties).</para>
<para>This RTAS call is not used for DR indicators (9001, 9002, and 9003)
or DR sensors (9003). See the following sections in the DR chapter for more
information:
<xref linkend="dbdoclet.50569342_85040" /> and
<xref linkend="dbdoclet.50569342_61130" />.</para>
<para>It may require several calls to the
<emphasis>ibm,get-indices</emphasis> RTAS routine to get the entire list of
indicators or sensors of a particular type. Each call may specify a
different work area.</para>
<para>The OS may not interleave calls to
<emphasis>ibm,get-indices</emphasis> for different indicator or sensor
types. Other standard RTAS locking rules apply.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For all DR options:</emphasis> The RTAS function
<emphasis>ibm,get-indices</emphasis> must implement the argument call buffer
defined by
<xref linkend="dbdoclet.50569332_50675" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_50675">
<title><emphasis>ibm,get-indices</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="7" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,get-indices</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>5</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Indicator or Sensor</emphasis>
</para>
</entry>
<entry>
<para>0: indicator of given type</para>
<para>1: sensor of given type</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Indicator Type</emphasis>
</para>
</entry>
<entry>
<para>Indicator or sensor type (for example, 9006, 9007)</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Address</emphasis>
</para>
</entry>
<entry>
<para>Address of work area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Size</emphasis>
</para>
</entry>
<entry>
<para>Size of work area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Starting Number</emphasis>
</para>
</entry>
<entry>
<para>Integer representing first indicator number to
return</para>
</entry>
</row>
<row>
<entry morerows="1" valign="middle">
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware error</para>
<para>-3: Indicator type not supported</para>
<para>-4: Optional: Indicator list changed, start again</para>
<para>0: Success</para>
<para>1: More data available; call again</para>
<para>990x:Extended Delay where x is a number 0-5 (see text
below)</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Next Starting Number</emphasis>
</para>
</entry>
<entry>
<para>Integer to use as the Starting Number parameter on the next
call, or 1 if no more calls are required</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When the 990x
<emphasis>Status</emphasis> is returned, it is suggested that software delay
for 10 raised to the x milliseconds (where x is the last digit of the 990x
return code), before calling
<emphasis>ibm,get-indices</emphasis> with the same Starting Number and
Indicator Type. However, software may issue the
<emphasis>ibm,get-indices</emphasis> call again either earlier or later than
this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para>The OS must not interleave calls to
<emphasis>ibm,get-indices</emphasis> for different indicator or sensor
types.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para>On the first call to get a particular
<emphasis>Indicator Type</emphasis>, the caller must provide a Starting
Number of 1 (32-bit integer)</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para>When
<emphasis>ibm,get-indices</emphasis> is called with a Starting Number of 1,
firmware must refresh any stale data in previously cached firmware buffers
for that indicator (for example, data made stale by a Dynamic
Reconfiguration operation).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>When calling
<emphasis>ibm,get-indices</emphasis> with a Starting Number of 1, a
previously returned
<emphasis>Next Starting Number</emphasis> value must be discarded.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para>Optionally, if firmware detects a change in
the indicator list before the entire list is returned, the
<emphasis>ibm,get-indices</emphasis> call must return a -4 and the caller
must start again with a Starting Number of 1.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para>The return data format in the work area for
all sensors and indicators must be as follows:</para>

<itemizedlist>
<listitem>
<para>Number Returned: 32-bit integer representing the number of
indicator indices returned on this call</para>
</listitem>

<listitem>
<para>Sets of (32-bit integer index, 32-bit integer length of location
code including NULLs, location code string (NULL terminated and padded to
nearest 4 byte boundary)), one set per indicator or sensor, with the number
of sets indicated by the first integer in this work buffer</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para>If the
<emphasis>Status</emphasis> returned is 1 (more data available, call again),
then the caller must call
<emphasis>ibm,get-indices</emphasis> again with the
<emphasis>Starting Number</emphasis> parameter set to the Next Starting
Number integer from the previously returned buffer.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para>The <emphasis>ibm,get-indices</emphasis> RTAS call must return the
<emphasis>Status</emphasis> value of -3 for the following conditions:</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>Indicator type not supported</para>
</listitem>

<listitem>
<para>No indicators of specified Indicator Type available to
caller</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-10.</emphasis></term>
<listitem>
<para>If the <emphasis>ibm,get-indices</emphasis> RTAS call returns a
<emphasis>Status</emphasis> of anything other than 0 or 1 is returned, the
caller must consider that the contents of the work area is not
defined.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-11.</emphasis></term>
<listitem>
<para>The work area specified in the
<emphasis>ibm,get-indices</emphasis> RTAS call argument buffer must be
contiguous in logical real memory and must reside below 4GB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-12.</emphasis></term>
<listitem>
<para>The <emphasis>ibm,get-indices</emphasis> RTAS call must only return the
indicator or sensor indices to which the caller has authorized access at
the time of the call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-13.</emphasis></term>
<listitem>
<para>The <emphasis>ibm,get-indices</emphasis> RTAS call must make no assumptions
about the contents of the work area on the beginning of the call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-14.</emphasis></term>
<listitem>
<para>When the platform supports the
<emphasis>ibm,get-indices</emphasis> RTAS call, the device tree must include
the
<emphasis role="bold"><literal>&#8220;ibm,get-indicator-indices-types&#8221;</literal></emphasis> property
in the
<emphasis role="bold"><literal>/rtas</literal></emphasis> node if the call is to be used for getting
indicator information and must include the
<emphasis role="bold"><literal>&#8220;ibm,get-sensor-indices-types&#8221;</literal></emphasis> property in
the
<emphasis role="bold"><literal>/rtas</literal></emphasis> node if the call is to be used for getting sensor
information.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-15.</emphasis></term>
<listitem>
<para>When an indicator token is provided in the
<emphasis role="bold"><literal>&#8220;ibm,get-indicator-indices-types&#8221;</literal></emphasis> property,
it must not be included in the
<emphasis role="bold"><literal>&#8220;</literal></emphasis><emphasis><literal>&lt;vendor&gt;</literal></emphasis><emphasis><literal>,indicator-</literal></emphasis><emphasis><literal>&lt;token&gt;</literal></emphasis><emphasis role="bold"><literal>&#8221;</literal></emphasis>
property and must not be included in the
<emphasis role="bold"><literal>&#8220;rtas-indicators&#8221;</literal></emphasis> property.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-16.</emphasis></term>
<listitem>
<para>When a sensor token is provided in the
<emphasis role="bold"><literal>&#8220;ibm,get-sensor-indices-types&#8221;</literal></emphasis> property, it
must not be included in the
<emphasis role="bold"><literal>&#8220;</literal></emphasis><emphasis><literal>&lt;vendor&gt;</literal></emphasis><emphasis role="bold"><literal>,sensor-</literal></emphasis><emphasis><literal>&lt;token&gt;</literal></emphasis><emphasis role="bold"><literal>&#8221;</literal></emphasis>
property and must not be included in the
<emphasis role="bold"><literal>&#8220;rtas-sensors&#8221;</literal></emphasis> property.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-17.</emphasis></term>
<listitem>
<para>When an environmental sensor token is
provided in the
<emphasis role="bold"><literal>&#8220;ibm,get-sensor-indices-types&#8221;</literal></emphasis> property,
users of data in the
<emphasis role="bold"><literal>&#8220;ibm,environmental-sensors&#8221;</literal></emphasis> property for
that sensor token must not assume that the indices are contiguous for that
sensor token (that is, any of the indices between 0 and the maxindex,
inclusive, may be missing).</para>
</listitem>
</varlistentry>

<varlistentry xml:id="dbdoclet.50569332_80480">
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-18.</emphasis></term>
<listitem>
<para>When the value of
any index returned is 0xFFFFFFFF, the OS must use the
<emphasis>ibm,get-dynamic-sensor-state</emphasis> and
<emphasis>ibm,set-dynamic-indicator</emphasis> RTAS functions for this
sensor or indicator, using the location code to identify the sensor or
indicator.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="sec_get_indices_rtas_call"
xrefstyle="select: labelnumber nopage"/>-19.</emphasis></term>
<listitem>
<para>The OS must not call
<emphasis>get-sensor-state</emphasis> or
<emphasis>get-indicator</emphasis> with an index value of 0xFFFFFFFF.</para>
</listitem>
</varlistentry>
</variablelist>
</section>

@ -1,408 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_72964">
<title><emphasis>ibm,get-vpd</emphasis> RTAS Call</title>
<para>This RTAS call allows for collection of VPD that changes after OS
boot time (after the initial reporting in the OF device tree). When this
call is implemented, there is no overlap between what is reported in the
device tree and what is reported with this RTAS call. Also, when this
RTAS call is implemented, all VPD, except PCI and I/O device VPD, which
is dynamically changed during OS run time is reported with this call and
not via the
<emphasis role="bold"><literal>&#8220;ibm,vpd&#8221;</literal></emphasis> property in the OF device
tree.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>For all Dynamic Reconfiguration options
except PCI Hot Plug, when the platform VPD can change dynamically due to
a Dynamic Reconfiguration operation, the platform must implement the
<emphasis>ibm,get-vpd</emphasis> RTAS call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para>The RTAS function
<emphasis>ibm,get-vpd</emphasis> must implement the argument call buffer
defined by
<xref linkend="dbdoclet.50569332_62393" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_62393">
<title><emphasis>ibm,get-vpd</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="6" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,get-vpd</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>4</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>3</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Pointer to Location Code</emphasis>
</para>
</entry>
<entry>
<para>Real address of NULL-terminated string, contiguous in
real memory and below 4GB, which is the location code of the
FRU for which to obtain the VPD. When this parameter references
a NULL string the VPD for all location codes is
returned.</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Address</emphasis>
</para>
</entry>
<entry>
<para>Address of work area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Size</emphasis>
</para>
</entry>
<entry>
<para>Size of work area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Sequence Number</emphasis>
</para>
</entry>
<entry>
<para>Integer representing the sequence number of the call.
First call in sequence starts with 1, following calls (if
necessary) use the
<emphasis>Next Sequence Number</emphasis> returned from the
previous call.</para>
</entry>
</row>
<row>
<entry morerows="2" valign="middle">
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware error</para>
<para>-3: Parameter error</para>
<para>-4: Optional: VPD changed, start again</para>
<para>0: Success</para>
<para>1: More data available; call again</para>
<para>990x: Extended Delay where x is a number 0-5 (see text
below)</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Next Sequence Number</emphasis>
</para>
</entry>
<entry>
<para>Return this integer as the
<emphasis>Sequence Number</emphasis> parameter on the next call
to continue the sequence, or 1 if no more calls are
required</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Bytes Returned</emphasis>
</para>
</entry>
<entry>
<para>Integer representing the number of valid bytes returned
in the work area.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When the 990x
<emphasis>Status</emphasis> is returned, it is suggested that software
delay for 10 raised to the x milliseconds (where x is the last digit of
the 990x return code), before calling
<emphasis>ibm,get-vpd</emphasis> with the same input parameters. However,
software may issue the
<emphasis>ibm,get-vpd</emphasis> call again either earlier or later than
this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para>On the first call to
<emphasis>ibm,get-vpd</emphasis> for a particular VPD gathering operation,
the caller must provide a
<emphasis>Sequence Number</emphasis> of 1 (32-bit integer)</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para>Upon calling
<emphasis>ibm,get-vpd</emphasis> with a
<emphasis>Sequence Number</emphasis> of 1, a previously returned
<emphasis>Next Sequence Number</emphasis> must be discarded. This means
that multiple calls to
<emphasis>ibm,get-vpd</emphasis> cannot be interleaved by multiple
processors, and if processor &#8220;B&#8221; starts a new
<emphasis>ibm,get-vpd</emphasis> sequence while processor &#8220;A&#8221;
has a call sequence in process (that is, the function on processor
&#8220;A&#8221; has returned a
<emphasis>Status</emphasis> of 1, and the subsequent call has not yet been
made) then the call sequence on processor &#8220;A&#8221; is
abandoned.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>Optionally, if firmware detects a change in
the VPD being requested before the entire VPD is returned, the
<emphasis>ibm,get-vpd</emphasis> call must return a
<emphasis>Status</emphasis> of -4 and the caller must start again with a
Starting Number of 1.</para>
<para>
<emphasis role="bold">Implementation Note:</emphasis> The platform should not impede
forward progress by continuously returning a
<emphasis>Status</emphasis> of -4.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para>The return data format in the work area
must be such that after returning all the data and concatenating all data
together in the order received, that the data is the same as is obtained
from the
<emphasis role="bold"><literal>&#8220;ibm,vpd&#8221;</literal></emphasis> property of the OF device
tree.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para>Each stanza of the returned data must
include the YL (location code) keyword.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para>If the
<emphasis>ibm,get-vpd</emphasis> RTAS call is implemented, then the
platform must not provide the
<emphasis role="bold"><literal>&#8220;ibm,vpd&#8221;</literal></emphasis> or
<emphasis role="bold"><literal>&#8220;ibm,loc-code&#8221;</literal></emphasis> properties in the OF
device tree
<emphasis>root</emphasis> node.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para>If the
<emphasis>ibm,get-vpd</emphasis> RTAS call is implemented, then any VPD
which may change after OS boot must be reported via the
<emphasis>ibm,get-vpd</emphasis> RTAS call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-10.</emphasis></term>
<listitem>
<para>If the
<emphasis>Status</emphasis> returned is 1 (more data available, call
again), then the caller must call
<emphasis>ibm,get-vpd</emphasis> again with the
<emphasis>Sequence Number</emphasis> parameter set to the
<emphasis>Next Sequence Number</emphasis> integer from the previously
returned call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-11.</emphasis></term>
<listitem>
<para>If a
<emphasis>Status</emphasis> of anything other than 0 or 1 is returned, the
contents of the work area is not defined.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-12.</emphasis></term>
<listitem>
<para>The work area must be contiguous in real
memory and must reside below 4GB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-13.</emphasis></term>
<listitem>
<para>Firmware cannot count on the contents of
the work area at the beginning of any call to
<emphasis>ibm,get-vpd</emphasis> (regardless of the value of the
<emphasis>Sequence Number</emphasis>).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-14.</emphasis></term>
<listitem>
<para>The location code referenced by the
<emphasis>Pointer to Location Code</emphasis> parameter must reside in
contiguous real memory below an address of 4GB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_72964"
xrefstyle="select: labelnumber nopage"/>-15.</emphasis></term>
<listitem>
<para>If the
<emphasis>ibm,get-vpd</emphasis> RTAS call is implemented, then firmware
must supply the
<emphasis role="bold"><literal>&#8220;ibm,vpd-size&#8221;</literal></emphasis> property in the
<emphasis role="bold"><literal>/rtas</literal></emphasis> node, the value of which is a single cell,
encoded as with
<emphasis>encode-int</emphasis>, which is the estimated maximum size in
bytes of the VPD that is returned if the
<emphasis>Pointer to Location Code</emphasis> parameter to the
<emphasis>ibm,get-vpd</emphasis> RTAS function is NULL (that is, all
system VPD). This size should take in to account possible concurrent
addition of new platform elements after the partition is started. If
firmware is unable to estimate this size, it may return a value of 0x0 to
indicate that no estimate is available.</para>
<para>
<emphasis role="bold">Software Implementation Notes:</emphasis>
</para>

<orderedlist>
<listitem>
<para>An OS should be prepared for older versions of firmware where
the
<emphasis role="bold"><literal>&#8220;ibm,vpd-size&#8221;</literal></emphasis> property is not
provided.</para>
</listitem>

<listitem>
<para>Each stanza of the returned data must include the YL (location
code) keyword.</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,266 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_26596">
<title><emphasis>ibm,lpar-perftools</emphasis> RTAS Call</title>

<para>This RTAS call provides access to platform-level facilities for
performance tools running in a partition on an LPAR system. Platforms may
require platform-specific tools, beyond the scope of this architecture,
to make this call available.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool Support option:</emphasis> The platform
must implement the LPAR option.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool Support option:</emphasis> RTAS must
implement the
<emphasis>ibm,lpar-perftools</emphasis> call using the argument call
buffer defined by
<xref linkend="dbdoclet.50569332_48993" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_48993">
<title><emphasis>ibm,lpar-perftools</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="7" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,lpar-perftools</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>5</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Subfunction</emphasis>
</para>
</entry>
<entry>
<para>1: Convert hypervisor IAR value to method name.</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Address High</emphasis>
</para>
</entry>
<entry>
<para>Most significant 32 bits of real address of work
area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Address Low</emphasis>
</para>
</entry>
<entry>
<para>Least significant 32 bits of real address of work
area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Size</emphasis>
</para>
</entry>
<entry>
<para>Size of work area in bytes</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Sequence Number</emphasis>
</para>
</entry>
<entry>
<para>Integer representing the sequence number of this call.
First call in sequence starts with 1, following calls (if
necessary) use the
<emphasis>Next Sequence Number</emphasis> returned from the
previous call.</para>
</entry>
</row>
<row>
<entry morerows="1" valign="middle">
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware Error</para>
<para>-2: Busy</para>
<para>-3: Parameter Error (Subfunction invalid, invalid work
area address, invalid work area size)</para>
<para>-9002: Partition does not have authority to perform this
function</para>
<para>-5: Buffer was too small to supply requested data</para>
<para>0: Success</para>
<para>990x: Extended delay</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Next Sequence Number</emphasis>
</para>
</entry>
<entry>
<para>Return this integer as the
<emphasis>Sequence Number</emphasis> parameter on the next call,
or 1 if no more calls are required.</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When 990x
<emphasis>Status</emphasis> is returned, it is suggested that software
delay for 10 raised to the x milliseconds (where x is the last digit of
the 990x return code), before calling the
<emphasis>ibm,lpar-perftools</emphasis> call with the same input
parameters. However, software may issue the
<emphasis>ibm,lpar-perftools</emphasis> call again earlier or later than
this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool Support option:</emphasis> For
<emphasis>subfunction</emphasis> value 1, on input the first 8 bytes of
the work area must contain the hypervisor IAR address to be converted. On
output, the first 8 bytes of the work area contain the offset of this
address from the start of the hypervisor function, method or module,
followed by a NULL-terminated text string containing the name of the
hypervisor function, method or module. If the address is not a valid
address in the hypervisor, on output the buffer must contain 0x0 (8
bytes) followed by a NULL-terminated text string indicating that the
address was not valid.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool support option:</emphasis> The work
area must reside in contiguous memory.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool Support option:</emphasis> If a
<emphasis>Status</emphasis> of anything other than 0 is returned, the
contents of the work area are not defined.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_26596"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Performance Tool Support option:</emphasis> A partition
must have at most one call to this function in process at a given time.
This means that if one processor in the partition initiates this call,
receives a Busy or Extended Delay return, and then another processor
calls this function with a sequence number of 1, a subsequent call using
the
<emphasis>Next Sequence Number</emphasis> returned to the first processor
results in a Parameter Error return code.</para>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,262 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_28221">
<title>ibm,manage-storage-preservation</title>

<para>Platforms may optionally preserve selected regions of storage
(LMBs) across client program boot cycles.
<xref linkend="dbdoclet.50569327_70628" /> for more information.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform
must implement the
<emphasis>ibm,manage-storage-preservation</emphasis> RTAS argument call
buffer as defined by
<xref linkend="dbdoclet.50569332_95221" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_95221">
<title><emphasis>ibm,manage-storage-preservation</emphasis> Argument Call
Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="5" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,manage-storage-preservation</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>3</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Subfunction</emphasis>
</para>
</entry>
<entry>
<para>0 = unused (return -3)</para>
<para>1 = Register specified LMB for preservation</para>
<para>2 = Query preservation state of specified LMB</para>
<para>3 = Deregister for preservation Specific LMB</para>
<para>4 = Deregister for preservation all caller&#8217;s
LMBs.</para>
<para>All other values reserved (return -3)</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Reg High</emphasis>
</para>
</entry>
<entry>
<para>The high order 32 bits of the LMB's
<emphasis role="bold"><literal>&#8220;reg&#8221;</literal></emphasis> property (Subfunctions
1-3)</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Reg Low</emphasis>
</para>
</entry>
<entry>
<para>The low order 32 bits of the LMB's
<emphasis role="bold"><literal>&#8220;reg&#8221;</literal></emphasis> property (Subfunctions
1-3)</para>
</entry>
</row>
<row>
<entry morerows="1" valign="middle">
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware error</para>
<para>-2: Busy</para>
<para>-3: Parameter error (Subfunction or Reg invalid; or Reg
for a non-preservable LMB)</para>
<para>0: Success</para>
<para>990x: Extended delay where x is a number 0-5</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Preservation state</emphasis>
</para>
</entry>
<entry>
<para>If
<emphasis>Status</emphasis>= Success, the current preservation
state of specified LMB (Subfunctions 1-3)</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform
must include the
<emphasis role="bold"><literal>&#8220;ibm,preservable&#8221;</literal></emphasis> property in the
<emphasis>/memory</emphasis> nodes of its OF device tree, containing a
value which reflects the platform's ability to preserve the specific
LMB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The value of the
<emphasis role="bold"><literal>&#8220;ibm,preservable&#8221;</literal></emphasis> property for the first
LMB must be 0 (cannot be preserved).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform
must not preserve the first LMB, thus must indicate a value of 0 for the
<emphasis role="bold"><literal>&#8220;ibm,preservable&#8221;</literal></emphasis> property for the first
LMB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform
must include the
<emphasis role="bold"><literal>&#8220;ibm,preserved&#8221;</literal></emphasis> property in the
<emphasis>/memory</emphasis> nodes of its OF device tree, valued to
reflect the platform's preservation state of the specific LMB.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform, on
a reboot, must include in the OF
<emphasis role="bold"><literal>/rtas</literal></emphasis> node the
<emphasis role="bold"><literal>&#8220;ibm,preserved-storage&#8221;</literal></emphasis> property if the
previous client program registered one or more of its LMBs for
preservation.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> If the client
program registered an LMB for preservation, the platform must preserve
the LMB's storage state across client program reboots.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_28221"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Storage Preservation option:</emphasis> The platform, on
a reboot, must include in the OF
<emphasis role="bold"><literal>/rtas</literal></emphasis> node the
<emphasis role="bold"><literal>&#8220;ibm,request-partition-shutdown&#8221;</literal></emphasis> property
which reflects the value of the partition shutdown configuration
variable, and if this property is not present, a value of 0 must be
assumed by the OS.</para>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,277 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_30542">
<title><emphasis>ibm,set-dynamic-indicator</emphasis> RTAS Call</title>

<para>This RTAS call behaves as the RTAS
<emphasis>set-indicator</emphasis> call, except that the instance of the
indicator is identified by a location code instead of a index.</para>

<variablelist>
<varlistentry xml:id="dbdoclet.50569332_58519">
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>Platforms that
implement any indicators that are identified by location code instead of
index (see Requirement
<xref linkend="dbdoclet.50569332_80480" />) must implement the
<emphasis>ibm,set-dynamic-indicator</emphasis> RTAS function.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para>The RTAS function
<emphasis>ibm,set-dynamic-indicator</emphasis> must implement the argument
call buffer defined by
<xref linkend="dbdoclet.50569332_14870" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_14870">
<title><emphasis>ibm,set-dynamic-indicator</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">
<emphasis>Name</emphasis>
</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="5" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,set-dynamic-indicator</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>3</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Indicator</emphasis>
</para>
</entry>
<entry>
<para>Token defining the indicator</para>
<para>9006: Error Log</para>
<para>9007: Identify Indicator</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>State</emphasis>
</para>
</entry>
<entry>
<para>Desired new state; see
<xref linkend="dbdoclet.50569332_32237" />.</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Location Code Address</emphasis>
</para>
</entry>
<entry>
<para>Real or Logical address of a location code string, in the
format defined by Requirement
<xref linkend="dbdoclet.50569332_69341" /></para>
</entry>
</row>
<row>
<entry>
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware error</para>
<para>-2: Busy, try again later</para>
<para>-3: No such indicator</para>
<para>0: Success</para>
<para>990x: Extended delay, where x is a number between 0 and
5, as described below</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
<para>When 990x
<emphasis>Status</emphasis> is returned, it is suggested that software
delay for 10 raised to the power
<emphasis>x</emphasis> milliseconds (where
<emphasis>x</emphasis> is the last digit of the 990x return code), before
calling
<emphasis>ibm,set-dynamic-indicator</emphasis> with the same indicator
type and location code. However, software may call
<emphasis>ibm,set-dynamic-indicator</emphasis> again either earlier or
later than this.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para>The OS must not call
<emphasis>ibm,set-dynamic-indicator</emphasis> with a different indicator
until a non-busy return
<emphasis>Status</emphasis> has been received from the previous
<emphasis>ibm,set-dynamic-indicator</emphasis> call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para>The location code string referenced by the
<emphasis>Location Code Address</emphasis> argument in the
<emphasis>ibm,set-dynamic-indicator</emphasis> argument call buffer must
reside in contiguous in real memory below an address of 4GB.</para>
</listitem>
</varlistentry>

<varlistentry xml:id="dbdoclet.50569332_69341">
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>The input data
format in the work area must be as follows:</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>32-bit integer length of the location code string, including
NULL</para>
</listitem>

<listitem>
<para>Location code string, NULL terminated, identifying the sensor to
be set.</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para>The platform must not modify the location
code string.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para>The OS must only use this call for
indicators which have been provided by the
<emphasis>ibm,get-indices</emphasis> RTAS call with an index value of
0xFFFFFFFF.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para>Platforms must identify all indicators
except types 9006 and 9007 by index.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_30542"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para>The <emphasis>ibm,set-dynamic-indicator</emphasis> RTAS call must return A
<emphasis>Status</emphasis> of -3 for the following conditions:</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>Indicator type not supported</para>
</listitem>

<listitem>
<para>The specified location code does not identify a valid
indicator</para>
</listitem>
</orderedlist>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,671 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_45918">
<title><emphasis>ibm,suspend-me</emphasis> RTAS Call</title>
<para>The
<emphasis>ibm,suspend-me</emphasis> RTAS call provides the calling OS the
ability to suspend processing. Suspension of processing is required as
part of OS hibernation or migration to another platform. This RTAS call
is made by the last active processor thread of a partition. The OS uses
the H_JOIN hcall() (see
<xref linkend="dbdoclet.50569344_15933" />) to deactivate other
processing threads. Processing treads may exit H_JOIN due to an
unmaskable interrupt; if a thread has exited H_JOIN,
<emphasis>ibm,suspend-me</emphasis> fails with a status of &#8220;multiple
processor threads active&#8221;. The wake up from suspension is triggered
by partition state change (see
<xref linkend="sec_vasi_partition_migration" /> and
<xref linkend="sec_vasi_partition_hibernation" />). The
<emphasis>ibm,suspend-me</emphasis> RTAS call returns only on the calling
virtual processor. Other virtual processors that were inactive when
<emphasis>ibm,suspend-me</emphasis> was called remain so until they are
proded by the OS.</para>
<para>While the logical configuration of a suspended partition remains
static, the physical properties may change; the OS may wish to issue
<emphasis>ibm,update-nodes</emphasis> (see
<emphasis>
<xref linkend="dbdoclet.50569332_84414" />) to determine if any device
tree nodes changed, and then</emphasis> refresh its view of the device
tree physical properties using
<emphasis>ibm,update-properties</emphasis> (see
<xref linkend="dbdoclet.50569332_40069" />) and/or
<emphasis>ibm,configure-connector</emphasis> (see
<xref linkend="dbdoclet.50569342_39636" />). Also during suspension, some
system parameters may have changed. See
<xref linkend="dbdoclet.50569332_10519" />, for details. The OS may want
to re-scan selected system parameters.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must implement the Logical Partitioning option (see
<xref linkend="dbdoclet.50569344_14591" />)
<emphasis>.</emphasis></para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> RTAS must
implement the
<emphasis>ibm,suspend-me</emphasis> call within a logical partition using
the argument call buffer defined by
<xref linkend="dbdoclet.50569332_91600" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_91600">
<title><emphasis>ibm,suspend-me</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="2" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,suspend-me</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>0</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
<row>
<entry>
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>9000: Suspension Aborted</para>
<para>0: Success -- expected return on function resume</para>
<para>-1: Hardware Error</para>
<para>&#160;</para>
<para>-9004: Partition not suspendable</para>
<para>-9005: Multiple processor threads active</para>
<para>-9006: Outstanding COP Operations</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The
<emphasis>ibm,suspend-me</emphasis> RTAS call must determine that the
calling partition is in the &#8220;suspendable state&#8221;, else return
a status of -9004 &#8220;Partition not suspendable&#8221;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The
<emphasis>ibm,suspend-me</emphasis> RTAS call must determine that the
calling partition has no other active processor thread, else return a
status of -9005 &#8220;Multiple processor threads active&#8221;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must implement the Thread Join option (see
<xref linkend="dbdoclet.50569344_90755" />).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must restore all partition state as of the time of the call to
<emphasis>ibm,suspend-me</emphasis> prior to returning from the
<emphasis>ibm,suspend-me</emphasis> RTAS call, except for the values of
those Open Firmware Device tree properties as reported using the Update
OF Tree option, and the system parameters given in
<xref linkend="dbdoclet.50569332_10519" />.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must be prepared to respond to OS requests for updated device tree
information immediately after returning from the
<emphasis>ibm,suspend-me</emphasis> RTAS call.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must support the &#8220;update OF tree&#8221; option.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must support the &#8220;Partner partition suspended&#8221; CRQ Transport
Event (See
<xref linkend="dbdoclet.50569348_93265" />).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-10.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The
<emphasis>ibm,suspend-me</emphasis> RTAS call must cause the platform to
deliver &#8220;Partner partition suspended&#8221; CRQ Transport Events to
both CRQs of all CRQ connections associated with the partition calling
<emphasis>ibm,suspend-me.</emphasis></para>
<para><emphasis role="bold">Note:</emphasis> The transport events are visible to the partition calling
<emphasis>ibm,suspend-me</emphasis> after the subsequent resume from
suspension, while the transport events are immediately visible to the
partner partitions of the caller at the time of the suspend.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-11.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The
<emphasis>ibm,suspend-me</emphasis> RTAS call must cause the platform to
set the state of all of the caller&#8217;s CRQs to disabled.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-12.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must implement the H_ENABLE_CRQ hcall() using the syntax and semantics
described in
<xref linkend="dbdoclet.50569348_43427" />.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-13.</emphasis></term>
<listitem>
<para><emphasis role="bold">For platforms that implement the Partition Suspension and VSCSI
options:</emphasis> The
<emphasis role="bold"><literal>&#8220;compatible&#8221;</literal></emphasis> property of the
platform&#8217;s
<emphasis>v-scsi</emphasis> and
<emphasis>v-scsi-host</emphasis> nodes must include
<emphasis role="bold"><literal>&#8220;IBM,v-scsi-2&#8221;</literal></emphasis> and
<emphasis role="bold"><literal>&#8220;IBM,v-scsi-host-2&#8221;</literal></emphasis> respectively
indicating the platform supports the &#8220;Partner partition
suspended&#8221; CRQ Transport Event.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-14.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> If the OS is
participating in OS surveillance, to avoid a surveillance time out, the
OS must disable surveillance (see
<xref linkend="dbdoclet.50569332_60143" />) prior to calling
<emphasis>ibm,suspend-me</emphasis>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-15.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must implement the LRDR option (See
<xref linkend="dbdoclet.50569342_75053" />).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-16.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The logical
configuration of a partition, including its view of the
<emphasis>rtas-display-device</emphasis>, and rtas tone facility must not
change while a partition is suspended.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-17.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must not change the support for a system parameter during
suspension.</para>
<para>
<emphasis role="bold">NOTE:</emphasis> If RTAS returns a status of -3 (System
parameter not supported) prior to suspension, it returns a Status of -3
for accesses to that same system parameter after suspension. Similarly if
RTAS does not return a Status of -3 prior to suspension for a given
system parameter, it does not do so after suspension.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-18.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must limit the system parameters that change values during suspension to
those specified in
<xref linkend="dbdoclet.50569332_10519" /> (all system parameters not
specified are preserved).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-19.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option:</emphasis> The platform
must preserve up to the first 32 SLB entries for each partition processor
during the suspension. Other SLB entries are subject to loss.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_45918"
xrefstyle="select: labelnumber nopage"/>-20.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Partition Suspension option with the Platform
Facilities Option:</emphasis> The
<emphasis>ibm,suspend-me</emphasis> RTAS call must determine that the
calling partition has no outstanding coprocessor operations else return a
status of -9005 &#8220;Outstanding COP Operations&#8221;.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_10519">
<title>System Parameters that May Change During Partition
Migration and Hibernation</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="33*" align="center" />
<colspec colname="c2" colwidth="33*" align="center" />
<colspec colname="c3" colwidth="33*" align="center" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">System Parameter Token</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">&#160;</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry>
<para>0-15</para>
</entry>
<entry>
<para>HMC</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>18-19</para>
</entry>
<entry>
<para>Legacy processor CoD</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>20</para>
<para>&#160;</para>
</entry>
<entry>
<para>SPLPAR characteristics</para>
</entry>
<entry>
<para>Only specified SPLPAR keywords may change value</para>
</entry>
</row>
<row>
<entry morerows="6" valign="middle">
<para>&#160;</para>
</entry>
<entry>
<para>DesiredEntitledCapacity</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>DesiredMemory</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>DesiredNumberOfProcessors</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>DesiredVariableCapacityWeight</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>DispatchWheelRotationPeriod</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>MinimumEntitledCapacityPerVP</para>
</entry>
<entry>
<para>Platform prevents migration where current Entitled
Capacity/VCPU ratio would be below the target's minimum.</para>
</entry>
</row>
<row>
<entry>
<para>MaximumPlatformProcessors</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>22</para>
</entry>
<entry>
<para>platform_auto_power_restart</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>23</para>
</entry>
<entry>
<para>sp-remote-pon</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>24</para>
</entry>
<entry>
<para>sp-rb4-pon</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>25</para>
</entry>
<entry>
<para>sp-snoop-str</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>30</para>
</entry>
<entry>
<para>sp-call-home</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>31</para>
</entry>
<entry>
<para>sp-current-flash-image</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>33</para>
</entry>
<entry>
<para>epow3-quiesce-time</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>34</para>
</entry>
<entry>
<para>memory-preservation-boot-time</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>35</para>
</entry>
<entry>
<para>SCSI initiator identifier</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>36</para>
</entry>
<entry>
<para>AIX support</para>
</entry>
<entry>
<para>The keyword &#8220;support&#8221; may not change to the
value &#8220;no&#8221; for an AIX client.</para>
</entry>
</row>
<row>
<entry>
<para>37</para>
</entry>
<entry>
<para>enhanced processor CoD</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>38</para>
</entry>
<entry>
<para>enhanced memory CoD</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>39</para>
</entry>
<entry>
<para>CoD Options</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>41</para>
</entry>
<entry>
<para>firmware boot options</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
<row>
<entry>
<para>43</para>
</entry>
<entry>
<para>processor module information</para>
</entry>
<entry>
<para>&#160;</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>
</variablelist>

</section>

@ -1,828 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569332_84414">
<title><emphasis>ibm,update-nodes</emphasis> RTAS Call</title>

<para>This RTAS call is used to determine which device tree nodes have
changed due to a massive platform reconfiguration such as when the
partition is migrated between machines. Differing platform
reconfigurations are expected to potentially result in different sets of
nodes being updated; the &#8220;scope&#8221; argument communicates what
set of changes are to be reported. The work area is a 4 KB naturally
aligned area of storage below the first 4 GB; as such, it may not be
large enough to contain the reports of all changed nodes. The status
value of 1 is used to inform the caller that there are more updates to
report and that it will have to call the
<emphasis>ibm,update-nodes</emphasis> RTAS again to receive them. On
subsequent calls the state variable, which is set to zero on the first
call, is set to the value returned on the previous call, to supply RTAS
with the information it needs to continue from where the previous call
ended.</para>
<para>Upon return, the work area contains, in addition to the state
variable, zero or more operation lists, and logically ends with a
terminator (4 byte word naturally aligned containing 0x00000000). An
operation list consists of an operator (4 bytes naturally aligned) and
zero or more (up to a the maximum number of 4 byte locations remaining in
the work area) operands, each 4 bytes long. An operator consists of a
single byte opcode followed by 3 bytes encoded with the binary value of
the number of operands that follow. An operator with an operand length
field of zero performs no operation, and the opcode of zero is reserved
for the terminator -- thus the terminator can be considered a special
encoding of a no-op operator.</para>

<itemizedlist>
<listitem>
<para>The opcode of 0x01 is used for deleted nodes -- the operands are
the
<emphasis role="bold">phandle</emphasis> values for the deleted nodes.</para>
</listitem>

<listitem>
<para>The opcode of 0x02 is used for updated nodes -- the operands are
the
<emphasis role="bold">phandle</emphasis> values for the updated nodes. The updated
properties are obtained using the
<emphasis>ibm,update-properties</emphasis> RTAS call.</para>
</listitem>

<listitem>
<para>The opcode of 0x03 is used for adding nodes -- the operands are
pairs of
<emphasis role="bold">phandle</emphasis> and
<emphasis role="bold">drc-index</emphasis> values; the
<emphasis role="bold">phandle</emphasis> value denotes the parent node of the node to
be added and the
<emphasis role="bold">ibm,drc-index</emphasis> value is passed with the
<emphasis>ibm,configure-connector</emphasis> RTAS call to obtain the
contents of the added node.</para>
</listitem>
</itemizedlist>

<para>To make processing of device tree updates simpler, all opcode 0x01
(delete) operations (if any) are presented prior to all opcode 0x02
(update) operations (if any), and finally any 0x03 (addition) operations
are presented. The
<emphasis role="bold">phandle</emphasis> operand values are the same
<emphasis role="bold">phandle</emphasis> values as reported by the
<emphasis role="bold"><literal>&#8220;ibm,phandle&#8221;</literal></emphasis> property.</para>

<variablelist>
<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Update OF Tree option:</emphasis> The platform must
include the
<emphasis role="bold"><literal>&#8220;ibm,phandle&#8221;</literal></emphasis> property in all OF nodes
specified in
<xref linkend="dbdoclet.50569332_80965" />.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-2.</emphasis></term>
<listitem>
<para><emphasis role="bold">For the Update OF Tree option:</emphasis> The platform must
implement the
<emphasis>ibm,update-nodes</emphasis> RTAS call using the argument call
buffer defined by
<xref linkend="dbdoclet.50569332_55185" />.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_55185">
<title><emphasis>ibm,update-nodes</emphasis> Argument Call Buffer</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="1*" align="center" />
<colspec colname="c2" colwidth="2*" align="center" />
<colspec colname="c3" colwidth="4*" />
<thead>
<row>
<entry>
<para>
<emphasis role="bold">Parameter Type</emphasis>
</para>
</entry>
<entry>
<para>
<emphasis role="bold">Name</emphasis>
</para>
</entry>
<entry align="center">
<para>
<emphasis role="bold">Values</emphasis>
</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="4" valign="middle">
<para>In</para>
</entry>
<entry>
<para>
<emphasis>Token</emphasis>
</para>
</entry>
<entry>
<para>Token for
<emphasis>ibm,update-nodes</emphasis></para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Inputs</emphasis>
</para>
</entry>
<entry>
<para>2</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Number Outputs</emphasis>
</para>
</entry>
<entry>
<para>1</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Work Area Address</emphasis>
</para>
</entry>
<entry>
<para>32 bit real address of work area</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis>Scope</emphasis>
</para>
</entry>
<entry>
<para>Values per
<xref linkend="dbdoclet.50569332_80965" />.</para>
</entry>
</row>
<row>
<entry>
<para>Out</para>
</entry>
<entry>
<para>
<emphasis>Status</emphasis>
</para>
</entry>
<entry>
<para>-1: Hardware Error</para>
<para>-2: Busy</para>
<para>-3: Parameter Error (Purpose does not match the current
partition state)</para>
<para>0: Success</para>
<para>1: More nodes updated -- call again</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para><emphasis>ibm,update-nodes</emphasis> RTAS call work area must be 4 KB
long aligned on a 4 KB boundary that is accessible with MSR[DR] = 0, else
RTAS may return -3 &#8220;Parameter Error&#8221;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-4.</emphasis></term>
<listitem>
<para><emphasis>ibm,update-nodes</emphasis> RTAS for a given value of &#8220;
<emphasis>Scope</emphasis>&#8221; must be formatted as specified in
<xref linkend="dbdoclet.50569332_76526" />, else RTAS may return -3
&#8220;Parameter Error&#8221;.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_76526">
<title>Initial Format of Work Area for
<emphasis>ibm,update-nodes</emphasis></title>
<tgroup cols="1">
<colspec colname="c1" colwidth="100*" align="center" />
<thead>
<row>
<entry>
<para>0x00000000 (State Variable indicates Initial call for
specified
<emphasis>Scope</emphasis>)</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry>
<para>12 bytes of 0x00 (reserved)</para>
</entry>
</row>
<row>
<entry>
<para>Don&#8217;t Care . . .</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-5.</emphasis></term>
<listitem>
<para>Upon successful return (non-negative status
value) from
<emphasis>ibm,update-nodes</emphasis> the work area must by formatted as
defined in
<xref linkend="dbdoclet.50569332_64519" />. (Note each entry in
<xref linkend="dbdoclet.50569332_64519" /> is 4 bytes long.)</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_64519">
<title>Format of Work Area for
<emphasis>ibm,update-nodes</emphasis></title>
<tgroup cols="1">
<colspec colname="c1" colwidth="100*" align="center" />
<tbody valign="middle" >
<row>
<entry>
<para>State Variable (4 Bytes)</para>
</entry>
</row>
<row>
<entry>
<para>12 bytes of 0x00 (reserved)</para>
</entry>
</row>
<row>
<entry>
<para>0 or more operation lists</para>
</entry>
</row>
<row>
<entry>
<para>. . .</para>
</entry>
</row>
<row>
<entry>
<para>Terminator (0x00000000)</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-6.</emphasis></term>
<listitem>
<para><emphasis>ibm,update-nodes</emphasis> RTAS call operation list for the
<emphasis>ibm,update-nodes</emphasis> RTAS call must contain an operator
(4 bytes naturally aligned) and zero or more 4 byte operands up to the
end of the work area.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-7.</emphasis></term>
<listitem>
<para>An operator in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be
formatted with, starting at the high order byte, a single byte opcode
followed by 3 bytes encoded with the binary value of the number of
operands that follow.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-8.</emphasis></term>
<listitem>
<para>An operator in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list with an
operand length field of zero must be considered to perform no
operation.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-9.</emphasis></term>
<listitem>
<para>The opcode of 0x01 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be
used to denote node deletions.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-10.</emphasis></term>
<listitem>
<para>The operands for opcode 0x01 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be the

<emphasis role="bold">phandle</emphasis> values for the deleted nodes.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-11.</emphasis></term>
<listitem>
<para>The opcode of 0x02 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be
used to denote updated nodes.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-12.</emphasis></term>
<listitem>
<para>The operands for opcode 0x02 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be the
<emphasis role="bold">phandle</emphasis> values for the updated nodes that may be used
as the
<emphasis>ibm,update-properties</emphasis> RTAS call argument to obtain
the changed properties of the updated node.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-13.</emphasis></term>
<listitem>
<para>The opcode of 0x03 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must used
for the added nodes.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-14.</emphasis></term>
<listitem>
<para>The operands for opcode of 0x03 in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list must be
<emphasis role="bold">phandle</emphasis> and
<emphasis role="bold">drc-index</emphasis> value pairs (each value being 4 bytes
on a natural boundary totalling 8 bytes for the pair) denoting the parent
node of the added node and the
<emphasis>ibm,configure-connector</emphasis> RTAS call argument to obtain
the contents of the added node respectively.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-15.</emphasis></term>
<listitem>
<para>All opcode 0x01 (delete) in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list (if any)
must be presented prior to any opcode 0x02 (update) operations (if
any).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-16.</emphasis></term>
<listitem>
<para>All opcode 0x02 (update) in an
<emphasis>ibm,update-nodes</emphasis> RTAS call operation list (if any)
must be presented prior to any opcode 0x03 (add) operations (if
any).</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-17.</emphasis></term>
<listitem>
<para>The work area on subsequent call(s) to
<emphasis>ibm,update-nodes</emphasis> RTAS for the same value of the
<emphasis role="bold"><literal>&#8220;Scope&#8221;</literal></emphasis> must be formatted as specified in
<xref linkend="dbdoclet.50569332_64422" />, else RTAS may return -3
&#8220;Parameter Error&#8221;.</para>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_64422">
<title>Format of Work Area for Subsequent Calls to
<emphasis>ibm,update-nodes</emphasis></title>
<tgroup cols="1">
<colspec colname="c1" colwidth="100*" align="center" />
<thead>
<row>
<entry>
<para>Value of the 1st 16 bytes of the returned work area from
last call to
<emphasis>ibm,update-nodes</emphasis> RTAS that returned status
of 1.</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry>
<para>Don&#8217;t Care . . .</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-18.</emphasis></term>
<listitem>
<para>The &#8220;<emphasis>Scope</emphasis>&#8221; argument for the
<emphasis>ibm,update-nodes</emphasis> RTAS call must be one of the values
specified in the scope value column of
<xref linkend="dbdoclet.50569332_80965" />, else RTAS may return -3
&#8220;Parameter Error&#8221;.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-19.</emphasis></term>
<listitem>
<para>For the
<emphasis>ibm,update-nodes</emphasis> RTAS call, the platform must
restrict its reported node updates to those specified in
<xref linkend="dbdoclet.50569332_80965" /> for the value of the specified
<emphasis role="bold"><literal>&#8220;Scope&#8221;</literal></emphasis> argument.</para>

</listitem>
</varlistentry>

<varlistentry>
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569332_84414"
xrefstyle="select: labelnumber nopage"/>-20.</emphasis></term>
<listitem>
<para>The work area on the first call to
<emphasis>ibm,update-nodes</emphasis> RTAS for a given value of
<emphasis>"Scope"</emphasis> must be formatted as specified in
<xref linkend="table_initial_format_of_work_area_for_ibm_update_nodes"/>
else RTAS may return -3 "Parameter Error".</para>

<table frame="all" pgwide="1" xml:id="table_initial_format_of_work_area_for_ibm_update_nodes">
<title>Initial Format of Work Area for
<emphasis>ibm,update-nodes</emphasis> with Device Reconfiguration Scope</title>
<tgroup cols="1">
<colspec colname="c1" colwidth="100*" align="center"/>
<tbody valign="middle" >
<row>
<entry>
<para>0x00000000 (State Variable indicates Initial call for specified <emphasis>Scope</emphasis>)</para>
</entry>
</row>
<row>
<entry>
<para>Unit Address of target device for reconfiguration</para>
</entry>
</row>
<row>
<entry>
<para>4 bytes of 0x00 (reserved)</para>
</entry>
</row>
<row>
<entry>
<para>Don't Care. . .</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</listitem>
</varlistentry>

</variablelist>

<table frame="all" pgwide="1" xml:id="dbdoclet.50569332_80965">
<title>Nodes That May be Reported by
<emphasis>ibm,update-nodes</emphasis> for a Given Value of the
&#8220;<emphasis>Scope</emphasis>&#8221; Argument</title>
<tgroup cols="3">
<colspec colname="c1" colwidth="33*" align="center" />
<colspec colname="c2" colwidth="33*" align="center" />
<colspec colname="c3" colwidth="33*" align="center" />
<thead>
<row>
<entry>
<para>Scope Value</para>
</entry>
<entry>
<para>Reportable node types (value of
<emphasis role="bold"><literal>&#8220;name&#8221;</literal></emphasis> or
<emphasis role="bold"><literal>&#8220;device_type&#8221;</literal></emphasis> property)</para>
</entry>
<entry>
<para>Supported Opcodes</para>
</entry>
</row>
</thead>
<tbody valign="middle" >
<row>
<entry morerows="7" valign="middle">
<para>Negative values: Platform Resource Reassignment events as
from
<emphasis>event-scan</emphasis> RTAS</para>
</entry>
<entry>
<para><emphasis role="bold">cpu</emphasis></para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para><emphasis role="bold">memory</emphasis></para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para><emphasis role="bold">ibm,dynamic-reconfiguration-memory</emphasis></para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,plaform-facilities</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,random-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,compression-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,encryption-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,memory-utilization_instrumentation-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry morerows="13" valign="middle">
<para>1 Partition Migration / Hibernation</para>
</entry>
<entry>
<para>
<emphasis role="bold">root</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">openprom</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">rtas</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">vdevice</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">cpu</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">cache</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">options</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">memory</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para><emphasis role="bold">ibm,dynamic-reconfiguration-memory</emphasis></para>
</entry>
<entry>
<para>&lt;all&gt;</para>
</entry>
</row>
<row>
<entry>
<para><emphasis role="bold">ibm,platform-facilities</emphasis></para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,random-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,compression-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,encryption-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,memory-utilization_instrumentation-v#</emphasis>
</para>
</entry>
<entry>
<para>0x01-0x03</para>
</entry>
</row>
<row>
<entry>
<para>2 Activate Firmware</para>
</entry>
<entry>
<para>
<emphasis role="bold">rtas</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry morerows="1" valign="middle">
<para>3 Device Reconfiguration</para>
</entry>
<entry>
<para>
<emphasis role="bold">ibm,coherent-platform-facility</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
<row>
<entry>
<para>
<emphasis role="bold">ibm,coherent-platform-function</emphasis>
</para>
</entry>
<entry>
<para>0x02</para>
</entry>
</row>
</tbody>
</tgroup>
</table>

</section>

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@ -28,6 +28,38 @@
revision, the revision shall apply.</para>
<orderedlist>
<!-- TODO: Uncomment documents needing referencing and comment out local document -->
<!--listitem>
<para><anchor xml:id="LoPAR.Platform"
xreflabel="Linux on Power Architecture Reference: Platform"/><citetitle>
Linux on Power Architecture Reference: Platform and Device Tree</citetitle></para>
</listitem-->

<listitem>
<para><anchor xml:id="LoPAR.DeviceTree"
xreflabel="Linux on Power Architecture Reference: Device Tree"/><citetitle>
Linux on Power Architecture Reference: Device Tree</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.Error"
xreflabel="Linux on Power Architecture Reference: Error Recovery and Logging"/><citetitle>
Linux on Power Architecture Reference: Error Recovery and Logging</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.Virtualization"
xreflabel="Linux on Power Architecture Reference: Virtualization"/><citetitle>
Linux on Power Architecture Reference: Virtualization</citetitle></para>
</listitem>

<listitem>
<para><anchor xml:id="LoPAR.RTAS"
xreflabel="Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)"/><citetitle>
Linux on Power Architecture Reference: Runtime Abstraction Services (RTAS)</citetitle></para>
</listitem>
<!-- End TODO list -->

<listitem>
<para><citetitle>Power ISA</citetitle><anchor xml:id="dbdoclet.50569387_99718"
xreflabel="Power ISA specification"/></para>
@ -249,3 +281,4 @@
</orderedlist>

</appendix>

@ -1,20 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<appendix xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569381_46906"

File diff suppressed because it is too large Load Diff

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016 OpenPOWER Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<book xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
status="draft"
xml:id="bk_main">

<!-- TODO: When ready to publish document, remove the 'status="draft"' statement from the book object above. -->

<title>Platform</title>
<subtitle>Linux on Power Architecture Reference</subtitle>

<info>
<author>
<personname>
<surname>System Software Work Group</surname>
</personname>
<email>syssw-chair@openpowerfoundation.org</email>
<affiliation>
<orgname>OpenPOWER Foundation</orgname>
</affiliation>
</author>
<copyright>
<year>2016</year>
<holder>OpenPOWER Foundation</holder>
</copyright>
<!-- TODO: Set the correct document releaseinfo -->
<releaseinfo>Revision 2.0_pre1</releaseinfo>
<productname>OpenPOWER</productname>
<pubdate/>

<legalnotice role="apache2">

<annotation>
<remark>Copyright details are filled in by the template.</remark>
</annotation>
</legalnotice>
<!-- TODO: Update the following text with the correct document description (first paragraph),
Work Group name, and Work Product track (both in second paragraph). -->
<abstract>
<para>The purpose of this document is to provide firmware and software
architectural details for the base Platform hardware associated with an OpenPOWER Systems.
The base content for this document were contributed to the OpenPOWER Foundation in the
<citetitle>IBM Linux on Power Architecture Platform Reference (LoPAPR) Draft</citetitle>
document. It had numerous contributors inside IBM.</para>
<para>This document is a Standard Track, Work Group Specification work product owned by the
System Software Workgroup and handled in compliance with the requirements outlined in the
<citetitle>OpenPOWER Foundation Work Group (WG) Process</citetitle> document. It was
created using the <citetitle>Master Template Guide</citetitle> version 0.9.5. Comments,
questions, etc. can be submitted to the public mailing list for this document at
<link xlink:href="http://tbd.openpowerfoundation.org">TBD</link>.</para>
</abstract>

<revhistory>
<!-- TODO: Update as new revisions created -->
<revision>
<date>2016-05-04</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Revision 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).</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
</revhistory>
</info>

<!-- The ch_preface.xml file is required by all documents -->
<xi:include href="../../Docs-Master/common/ch_preface.xml"/>
<xi:include href="../common/ch_LoPAR_preface.xml"/>

<!-- Chapter heading files -->
<xi:include href="ch_platform_intro.xml"/>
<xi:include href="ch_system_reqs.xml"/>
<xi:include href="ch_address_map.xml"/>
<xi:include href="ch_processors_memory.xml"/>
<xi:include href="ch_interrupt_controller.xml"/>
<xi:include href="ch_nonvolatile_memory.xml"/>
<xi:include href="ch_smp.xml"/>
<xi:include href="ch_numa.xml"/>
<xi:include href="ch_io_topology.xml"/>
<xi:include href="ch_io_devices.xml"/>
<xi:include href="ch_product_topology.xml"/>

<!-- Document specific appendices -->
<xi:include href="app_eeh_handling.xml"/>
<xi:include href="app_bibliography.xml"/>
<xi:include href="app_glossary.xml"/>

<!-- The app_foundation.xml appendix file is required by all documents. -->
<xi:include href="../../Docs-Master/common/app_foundation.xml"/>

<xi:include href="../common/app_EOD.xml"/>

</book>

@ -1,26 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en"
xml:id="dbdoclet.50569328_Address-Map">
<title>Address Map</title>
xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en" xml:id="dbdoclet.50569328_Address-Map">
<title>3 Address Map</title>
<para>The address map of an LoPAR platform is made up of several distinct
areas. These areas are one of five basic types. Each of these types has its own
@ -68,7 +49,7 @@
range, the Peripheral I/O Space.<footnote xml:id="pgfId-128932"><para>A
peripheral space may also include a &#x201C;configuration&#x201D; address
space. The configuration space is abstracted by a Run-Time Abstraction Service
(for example, see <xref linkend="dbdoclet.50569332_14852"/>).</para></footnote></para>
(for example, see <xref linkend="LoPAR.RTAS"/>).</para></footnote></para>
</listitem>
<listitem>
@ -93,7 +74,7 @@
<listitem>
<para>Undefined refers to areas that are not one of the above four
areas. The result of accessing one of these areas is defined in <xref
linkend="dbdoclet.50569337_52952"/> as an invalid address error.</para>
linkend="LoPAR.Error"/> as an invalid address error.</para>
</listitem>
</itemizedlist>

@ -490,7 +471,7 @@
<para> All other addresses</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569337_52952"/>.</para>
<para> See <xref linkend="LoPAR.Error"/>.</para>
</entry>
<entry>
<para> Access is to undefined space.</para>
@ -778,7 +759,7 @@
</entry>
<entry>
<para> HB does not respond or responds and signals an invalid
address error (See <xref linkend="dbdoclet.50569337_52952"/>).</para>
address error (See <xref linkend="LoPAR.Error"/>).</para>
</entry>
<entry>
<para> &#xA0;</para>
@ -796,7 +777,7 @@
to access this space, then translate via the TCE table (as specified in <xref
linkend="dbdoclet.50569328_76588"/>) and pass the translated address through
the HB, otherwise generate an invalid address or TCE extent error, as
appropriate (See <xref linkend="dbdoclet.50569337_52952"/>). </para>
appropriate (See <xref linkend="LoPAR.Error"/>). </para>
</entry>
<entry>
<para> See Notes 2, 3</para>
@ -807,7 +788,7 @@
<para> All other addresses</para>
</entry>
<entry>
<para> Generate an invalid address error (See <xref linkend="dbdoclet.50569337_52952"/>).</para>
<para> Generate an invalid address error (See <xref linkend="LoPAR.Error"/>).</para>
</entry>
<entry>
<para> See Note 3</para>
@ -827,7 +808,7 @@
address would re-access the same HB or another HB (for example, is in the
Peripheral Memory Space or Peripheral I/O Space of that HB or another HB), then
the HB generates an invalid address error (See <xref
linkend="dbdoclet.50569337_52952"/>).</para>
linkend="LoPAR.Error"/>).</para>
</listitem>

<listitem>
@ -990,7 +971,7 @@
set in this field of the TCE.</para>
<para> For accesses to system address space with an invalid
operation (write to a read-only page or read to a write-only page), the HB
generates an error. See <xref linkend="dbdoclet.50569337_52952"/> for more information
generates an error. See <xref linkend="LoPAR.Error"/> for more information
about error handling.</para>
</entry>
</row>
@ -1006,7 +987,7 @@
<para>If the address that the HB would use to
access the TCE table (in order to get the TCE) would access outside of the TCE
table, then the HB must create a TCE extent error (See <xref
linkend="dbdoclet.50569337_52952"/>).</para>
linkend="LoPAR.Error"/>).</para>
</listitem>
</varlistentry>
@ -1034,7 +1015,7 @@
<listitem>
<para>Any non-recoverable error while an HB
is accessing its TCE table must result in a TCE access error; the action to be
taken by the HB being defined under the TCE access error in <xref linkend="dbdoclet.50569337_52952"/>.</para>
taken by the HB being defined under the TCE access error in <xref linkend="LoPAR.Error"/>.</para>
</listitem>
</varlistentry>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569331_37856"
@ -29,7 +13,7 @@
<section>
<title>Interrupt Controller Virtualization</title>
<para>Virtualization of the interrupt controller is done through the
Interrupt Support hcalls. See <xref linkend="dbdoclet.50569344_26787"/>.</para>
Interrupt Support hcalls. See <xref linkend="LoPAR.Virtualization"/>.</para>
</section>

<section xml:id="dbdoclet.50569331_29157">
@ -305,7 +289,7 @@

<section>
<title>PowerPC External Interrupt Option Properties</title>
<para>See <xref linkend="dbdoclet.50569368_91814"/> for property definitions.</para>
<para>See <xref linkend="LoPAR.DeviceTree"/> for property definitions.</para>
</section>

<section xml:id="dbdoclet.50569331_33067">
@ -322,7 +306,7 @@
particular, these calls assign additional MSI resources to an IOA function (as
defined by its PCI configuration address: <emphasis>PHB_Unit_ID_Hi,
PHB_Unit_ID_Low, and config_addr</emphasis>), when supported by the platform.
See <xref linkend="dbdoclet.50569332_61719"/> for more information on theses RTAS calls for
See <xref linkend="LoPAR.RTAS"/> for more information on theses RTAS calls for
MSI management.</para>
<para>This architecture will refer generically to the MSI and MSI-X
capabilities as simply &#x201C;MSI,&#x201D; except where differentiation is

@ -1,24 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en">
xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
<title>I/O Devices</title>

<para>This chapter describes requirements for IOAs. It adds detail to areas
@ -181,7 +163,7 @@
<para>It is strongly advised that system board designers assign one
interrupt for each interrupt source. Additionally, multi-function PCI IOAs
should have multiple interrupt sources. For restrictions on sharing interrupts
with the LPAR option, see Requirement <xref linkend="dbdoclet.50569344_19261"/>.
with the LPAR option, see Requirement <xref linkend="LoPAR.Virtualization"/>.
For restrictions on sharing MSIs, see Requirement <xref
linkend="dbdoclet.50569331_84312"/> and Requirement <xref
linkend="dbdoclet.50569331_63544"/>.</para>
@ -317,7 +299,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry morerows="3">
<para> Command</para>
@ -399,7 +381,7 @@
<listitem>
<para>All IOAs that implement PCI-X Mode 2 or PCI Express must supply
the <emphasis role="bold"><literal>&#x201C;ibm,pci-config-space-type&#x201D;</literal></emphasis> property
(see <xref linkend="dbdoclet.50569368_69645"/>).</para>
(see <xref linkend="LoPAR.RTAS"/>).</para>
<para><emphasis role="bold">Implementation Note:</emphasis> The
<emphasis role="bold"><literal>&#x201C;ibm,pci-config-space-type&#x201D;</literal></emphasis>
property in Requirement <xref linkend="dbdoclet.50569335_17839"/> is added for platforms that support
@ -601,7 +583,7 @@
</entry>
</row>
</thead>
<tbody valign="middle" >
<tbody>
<row>
<entry>
<para>Entire adapter assigned to OS, IOV not enabled</para>
@ -822,7 +804,7 @@
<para>The platform must present within the
device tree nodes for all PCI Express adapters configured to operate in IOV
mode the <emphasis role="bold"><literal>"ibm,is-vf"</literal></emphasis> property as defined in section
<xref linkend="dbdoclet.50569368_94451"/>. </para>
<xref linkend="LoPAR.RTAS"/>. </para>
</listitem>
</varlistentry>
</variablelist>
@ -840,7 +822,7 @@
<listitem>
<para><emphasis role="bold">Platform Implementation:</emphasis>
Platforms must support the <emphasis role="bold"><literal>&#x201C;scsi-initiator-id&#x201D;</literal></emphasis>
property as described in <xref linkend="dbdoclet.50569368_91814"/> and <xref linkend="dbdoclet.50569387_27008"/>.</para>
property as described in <xref linkend="LoPAR.DeviceTree"/> and <xref linkend="dbdoclet.50569387_27008"/>.</para>
</listitem>
</varlistentry>
</variablelist>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569330_13240"
@ -40,8 +24,7 @@
In addition, Logical Partitioning (LPAR) allows the isolation of resources used
by one OS from those used by another. This section will discuss aspects of the
partitioning of the I/O subsystem. Further information on DR and LPAR can be
found in <xref linkend="dbdoclet.50569342_75822"/> and
<xref linkend="dbdoclet.50569344_14591"/>.</para>
found in <xref linkend="LoPAR.Virtualization"/>.</para>
<para>To be useful, the granularity of assignment of I/O resources to an OS
needs to be fairly fine-grained. For example, it is not generally acceptable to
require assignment of all I/O under the same PCI Host Bridge (PHB) to the same
@ -49,10 +32,10 @@
including the capability to dynamically move resources between
partitions<footnote xml:id="pgfId-1009114"><para>Dynamic LPAR or DLPAR is
defined by the Logical Resource Dynamic Reconfiguration (LRDR) option. See
<xref linkend="dbdoclet.50569342_75053"/> for more information. Assignment of all
<xref linkend="LoPAR.Virtualization"/> for more information. Assignment of all
IOAs under the same PHB to one partition may be acceptable if that I/O is
shared via the Virtual I/O (VIO) capability defined in <xref
linkend="dbdoclet.50569348_71217"/>.</para></footnote>. To be able to partition
linkend="LoPAR.Virtualization"/>.</para></footnote>. To be able to partition
I/O adapters (IOAs), groups of IOAs or portions of IOAs for DR or to different
OSs for LPAR will generally require some extra functionality in the platform
(for example, I/O bridges and firmware) in order to be able to partition the
@ -363,7 +346,7 @@
(activate/deactivate reset) sequence for an IOA function, then the platform
provides the <emphasis role="bold"><literal>&#x201C;ibm,pe-reset-is-flr&#x201D;</literal></emphasis> property
in the function&#x2019;s node of the OF device tree, See
<xref linkend="dbdoclet.50569332_86249"/> for more information.</para>
<xref linkend="LoPAR.RTAS"/> for more information.</para>
</listitem>
</varlistentry>
@ -428,7 +411,7 @@
<para><emphasis role="bold">Implementation Notes:</emphasis>
<orderedlist>
<listitem>
<para>See <xref linkend="dbdoclet.50569344_19261"/> and <xref linkend="sec_interrupt_req"/> for requirements
<para>See <xref linkend="LoPAR.Virtualization"/> for requirements
relative to EEH requirements with LPAR.</para>
</listitem>

@ -563,8 +546,7 @@
<listitem>
<para>All PHBs
for use in platforms which implement LPAR must support EEH, in support of virtualizations
requirements in <xref linkend="dbdoclet.50569344_19261"/> and
<xref linkend="sec_interrupt_req"/>.</para>
requirements in <xref linkend="LoPAR.Virtualization"/>.</para>
</listitem>
</varlistentry>
@ -980,7 +962,7 @@
handle values in the <emphasis role="bold"><literal>&#x201C;ibm,dma-window&#x201D;</literal></emphasis>
property that are greater than or equal to 4 GB. Therefore, it is recommended
that 64-bit DMA addresses be implemented through the Dynamic DMA Window option
(see <xref linkend="dbdoclet.50569332_14137"/>).</para>
(see <xref linkend="LoPAR.RTAS"/>).</para>
</entry>
</row>
<row>
@ -1354,7 +1336,7 @@
of a PHB may be to System Memory or may be to another IOA via the Peripheral
Memory Space of another HB. Transfers that are directed to the Peripheral I/O
Space of another HB are considered to be an addressing error (see
<xref linkend="dbdoclet.50569337_37595"/>). For information about decoding these address spaces
<xref linkend="LoPAR.Error"/>). For information about decoding these address spaces
and the address transforms necessary, see
<xref linkend="dbdoclet.50569328_Address-Map"/>.</para>
</section>
@ -1390,7 +1372,7 @@
produce unpredictable results (for example, the system may crash).</para>
<para>PHBs in platforms that support the PCI Hot Plug Dynamic
Reconfiguration (DR) option may have some unique design considerations. For
information about the DR options, see <xref linkend="dbdoclet.50569342_75822"/>.</para>
information about the DR options, see <xref linkend="LoPAR.Virtualization"/>.</para>
</section>
<section>
@ -1563,7 +1545,7 @@
peer to peer operations between themselves. Peer to peer operations in an LPAR
environment, when the operations are between IOAs that are not in the same
partition, is specifically prohibited (see Requirement
<xref linkend="dbdoclet.50569344_34063"/>).</para>
<xref linkend="LoPAR.Virtualization"/>).</para>
</section>
<section xml:id="sec_pci_pci_bridges">
<title>PCI to PCI Bridges </title>
@ -1761,8 +1743,8 @@
correctly implement MA recovery, make sure that the EEH option can be enabled
and disabled independently for each PE.<footnote xml:id="pgfId-1007735"><para>LPAR
implementations limit the capability of
running with EEH disabled (see Requirement <xref linkend="dbdoclet.50569344_47137"/>
and Requirement <xref linkend="dbdoclet.50569344_28369"/>).</para></footnote></para>
running with EEH disabled (see virtualization rsequirements in
<xref linkend="LoPAR.Virtualization"/>).</para></footnote></para>
</listitem>
<listitem>
@ -1773,7 +1755,7 @@
</itemizedlist>

<para>Hardware changes for this option are detailed in the next section.
RTAS changes required are detailed in <xref linkend="dbdoclet.50569332_39444"/>.</para>
RTAS changes required are detailed in <xref linkend="LoPAR.RTAS"/>.</para>
<section xml:id="sec_eeh_req">
<title>EEH Option Requirements</title>
@ -1785,7 +1767,7 @@
implemented concurrently.</para>
<para>The additional requirements on the hardware for this option are as
follows. For the RTAS requirements for this option, see
<xref linkend="dbdoclet.50569332_39444"/>.</para>
<xref linkend="LoPAR.RTAS"/>.</para>

<variablelist>
<varlistentry>
@ -2093,9 +2075,8 @@
from being enabled, may instead turn off EEH when such an enable is attempted
without first an attempt by the device driver to enable EEH (by the
<emphasis>ibm,set-eeh-option</emphasis> ), providing such EEH disablement does not
violate any other requirement for EEH enablement (for example, Requirement
<xref linkend="dbdoclet.50569344_47137"/> or
<xref linkend="dbdoclet.50569344_28369"/>>).</para>
violate any other requirement for EEH enablement (for example, virtualization
requirement in <xref linkend="LoPAR.Virtualization"/>).</para>
<para><emphasis role="bold">Software Implementation Note:</emphasis> To be EEH
aware, a device driver does not need to be able to recover from an MMIO Stopped
or DMA Stopped state, only recognize the all-1's condition and not use data

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569333_15433"
@ -79,7 +63,7 @@
<emphasis>nvram-fetch</emphasis> and <emphasis>nvram-store</emphasis> RTAS
calls do not allow a &#x201C;busy&#x201D; Status return, and this may further
limit the implementation choices.</para>
<para><emphasis role="bold">Software Implementation Note:</emphasis> Refer to <xref linkend="dbdoclet.50569332_26944"/>
<para><emphasis role="bold">Software Implementation Note:</emphasis> Refer to <xref linkend="LoPAR.RTAS"/>
for information on accessing NVRAM.</para>
</section>
@ -407,7 +391,7 @@ unsigned int nbytes; /* number of bytes to sum */
<title>System (0x70)</title>
<para>System NVRAM partitions are used for storing information
(typically, configuration variables) accessible to both OF and the OS. Refer to
<xref linkend="dbdoclet.50569368_91814"/> for the definition of the contents of the
<xref linkend="LoPAR.DeviceTree"/> for the definition of the contents of the
System NVRAM partition named <emphasis role="bold"><literal>common</literal></emphasis>.</para>

<variablelist>
@ -509,7 +493,7 @@ unsigned int nbytes; /* number of bytes to sum */
<para>OF configuration variables control the operation of OF. In addition
to the standard configuration variables defined in
<xref linkend="dbdoclet.50569387_45524"/>, other configuration variables are defined
in <xref linkend="dbdoclet.50569374_59715"/>. While such variables are stored in the System
in <xref linkend="LoPAR.RTAS"/>. While such variables are stored in the System
NVRAM partition as described above, they have additional rules placed on the
format of the value component. Each configuration variable is also represented
by a user interface word (of the same name) that returns stack value(s) when
@ -646,12 +630,6 @@ unsigned int nbytes; /* number of bytes to sum */
<listitem>
<para><emphasis role="bold"><literal>reboot-command</literal></emphasis> [*]</para>
</listitem>
<listitem>
<para><emphasis role="bold"><literal>ibm,shadow-boot-device</literal></emphasis> [1]</para>
</listitem>
<listitem>
<para><emphasis role="bold"><literal>ibm,last-booted</literal></emphasis> [1]</para>
</listitem>
</itemizedlist>
</section>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569346_35960"
@ -88,7 +72,7 @@
(processor, memory region, and IO slot) conveys information about the resources
statically assigned to the client program; and contains the
<emphasis role="bold"><literal>&#x201C;ibm,associativity&#x201D;</literal></emphasis>
property (see <xref linkend="dbdoclet.50569368_10192"/>). This property allows the client
property (see <xref linkend="LoPAR.RTAS"/>). This property allows the client
program to determine the associativity between any two of it&#x2019;s
resources. The greater the associativity the greater the expected performance
when using those two resources in a given operation.</para>
@ -112,7 +96,7 @@
information for the resources is not provided to prevent erroneous operation.
If the long term mapping changes the client program can be made aware of the
new associativity information using the <emphasis>ibm,update-properties</emphasis> RTAS call (See
<xref linkend="dbdoclet.50569332_40069"/>).</para>
<xref linkend="LoPAR.RTAS"/>).</para>

<variablelist>
<varlistentry xml:id="dbdoclet.50569346_19785">
@ -237,7 +221,7 @@
property byte 5 bit 0 has the value of zero, the
<emphasis role="bold"><literal>&#x201C;ibm,associativity-reference-points&#x201D;</literal></emphasis> property defines
reference points in the <emphasis role="bold"><literal>&#x201C;ibm,associativity&#x201D;</literal></emphasis>
property (see <xref linkend="dbdoclet.50569368_41461"/>) which roughly correspond to
property (see <xref linkend="LoPAR.DeviceTree"/>) which roughly correspond to
traditional notions of platform topology constructs. It is important for the
user to realize that these reference points are not exact and their
characteristics vary among implementations. </para>
@ -297,7 +281,7 @@
<title>Dynamic Reconfiguration with Cross CEC I/O Drawers</title>
<para>Should the configuration change in such a way that the associativity
between an OS image&#x2019;s resources changes, the platform notifies the OS
via an event scan log. See <xref linkend="dbdoclet.50569337_37595"/>. </para>
via an event scan log. See <xref linkend="LoPAR.Error"/>. </para>

<variablelist>
<varlistentry>
@ -315,15 +299,12 @@
</section>

<section xml:id="sec_numa_max_domains">
<title>Maximum and Current Associativity Domains</title>
<title>Maximum Associativity Domains</title>
<para>Since the number of associativity domains that a platform may exhibit
is not apparent from the associativity properties presented at boot time, the
platform provides the
<emphasis role="bold"><literal>&#x201C;ibm,max-associativity-domains&#x201D;</literal></emphasis>
and the
<emphasis role="bold"><literal>&#x201C;ibm,current-associativity-domains&#x201D;</literal></emphasis>
properties in the <emphasis role="bold"><literal>/rtas</literal></emphasis> node of the device tree (see
<xref linkend="dbdoclet.50569368_41461"/>).</para>
platform provides the <emphasis role="bold"><literal>&#x201C;ibm,max-associativity-domains&#x201D;</literal></emphasis>
property in the <emphasis role="bold"><literal>/rtas</literal></emphasis> node of the device tree (see
<xref linkend="LoPAR.DeviceTree"/>).</para>

<variablelist>
<varlistentry>
@ -332,10 +313,7 @@
<listitem>
<para><emphasis role="bold">For the NUMA or Associativity
Information option:</emphasis> The platform must provide the
<emphasis role="bold"><literal>&#x201C;ibm,max-associativity-domains&#x201D;</literal></emphasis>
and the
<emphasis role="bold"><literal>&#x201C;ibm,current-associativity-domains&#x201D;</literal></emphasis>
properties in
<emphasis role="bold"><literal>&#x201C;ibm,max-associativity-domains&#x201D;</literal></emphasis> property in
the <emphasis role="bold"><literal>/rtas</literal></emphasis> node of the device tree.</para>
</listitem>
</varlistentry>
@ -359,7 +337,7 @@
preferred.</para>
<para>The OS and platform firmware negotiate their mutual support of the
PRRN option via the <emphasis role="bold"><literal>ibm,client-architecture-support</literal></emphasis>
interface (See <xref linkend="dbdoclet.50569368_13649"/>). Should a partition be
interface (See <xref linkend="LoPAR.DeviceTree"/>). Should a partition be
migrated from a platform that did not support the PRRN option, the target
platform does not notify the partition&#x2019;s OS of any PRRN events and, when
possible avoids changing the affinity among the partition&#x2019;s resources.
@ -369,7 +347,7 @@
events.</para>
<para>A PRRN event is signaled via the RTAS <emphasis>event-scan</emphasis>
mechanism, which returns a Hot Plug Event message &#x201C;fixed
part&#x201D; (See <xref linkend="dbdoclet.50569337_28848"/>) indicating &#x201C;Platform
part&#x201D; (See <xref linkend="LoPAR.Error"/>) indicating &#x201C;Platform
Resource Reassignment&#x201D;. In response to the Hot Plug Event message, the
OS may call <emphasis>ibm,update-nodes</emphasis> to determine which resources
were reassigned, and then <emphasis>ibm,update-properties</emphasis> to obtain
@ -459,7 +437,7 @@
</entry>
<entry align="center">
<para>
<emphasis role="bold">Description, Values (Described in <xref linkend="dbdoclet.50569337_75663"/>)</emphasis>
<emphasis role="bold">Description, Values (Described in <xref linkend="LoPAR.RTAS"/>)</emphasis>
</para>
</entry>
</row>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569326_38341"

@ -1,24 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
version="5.0"
xml:lang="en">
xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
<title>Processor and Memory</title>

<para>The purpose of this chapter is to specify the processor and memory
@ -107,7 +89,7 @@
<emphasis role="bold"><literal>cpu</literal></emphasis> node of the OF device tree. Examples of OF device
tree properties which support these differences include <emphasis role="bold"><literal>&#x201C;64-bit&#x201D;</literal></emphasis>
and <emphasis role="bold"><literal>&#x201C;performance-monitor&#x201D;</literal></emphasis>. See
<xref linkend="dbdoclet.50569374_59715"/> for a complete listing and more details. </para>
<xref linkend="LoPAR.RTAS"/> for a complete listing and more details. </para>

<variablelist>
<varlistentry xml:id="dbdoclet.50569329_14931">
@ -161,7 +143,7 @@
<para>Platforms must restrict their choice of processors to those whose
programming models may be described by the properties defined for the
<emphasis role="bold"><literal>cpu</literal></emphasis> node of the OF device tree in
<xref linkend="dbdoclet.50569374_59715"/>.</para>
<xref linkend="LoPAR.RTAS"/>.</para>
</listitem>
</varlistentry>
@ -190,7 +172,7 @@
<listitem>
<para>Platforms must implement the
<emphasis role="bold"><literal>&#x201C;ibm,platform-hardware-notification&#x201D;</literal></emphasis> property (see
<xref linkend="dbdoclet.50569368_91814"/>) and include all PVRs that the platform may
<xref linkend="LoPAR.DeviceTree"/>) and include all PVRs that the platform may
contain.</para>
</listitem>
</varlistentry>
@ -293,7 +275,7 @@
<section>
<title><emphasis role="bold"><literal>cpu</literal></emphasis> Node <emphasis role="bold"><literal>&#x201C;Status&#x201D;</literal></emphasis> Property</title>
<para>See <xref linkend="dbdoclet.50569374_59715"/> for the values of the
<para>See <xref linkend="LoPAR.RTAS"/> for the values of the
<emphasis role="bold"><literal>&#x201C;status&#x201D;</literal></emphasis> property of the <emphasis role="bold"><literal>cpu</literal></emphasis>
node.</para>
</section>
@ -314,7 +296,7 @@
</listitem>
</varlistentry>
</variablelist>
<para>Refer to <xref linkend="dbdoclet.50569368_31401"/> for the definition of
<para>Refer to <xref linkend="LoPAR.DeviceTree"/> for the definition of
the <emphasis role="bold"><literal>ibm,ppc-interrupt-server#s</literal></emphasis> property.</para>
</section>
</section>
@ -731,7 +713,7 @@
<para>Each first level cache will be defined via properties of the
<emphasis role="bold"><literal>cpu</literal></emphasis> node(s) of the OF device tree. Each higher level cache will be
defined via properties of the <emphasis role="bold"><literal>l2-cache</literal></emphasis> node(s)
of the OF device tree. See <xref linkend="dbdoclet.50569374_59715"/> for more details.</para>
of the OF device tree. See <xref linkend="LoPAR.RTAS"/> for more details.</para>
</listitem>

<listitem>
@ -754,7 +736,7 @@
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>Firmware must implement all of the
properties for memory modules, as specified by <xref linkend="dbdoclet.50569368_91814"/>,
properties for memory modules, as specified by <xref linkend="LoPAR.DeviceTree"/>,
and any other properties defined by this document which apply to memory modules.</para>
</listitem>
</varlistentry>
@ -823,8 +805,8 @@
<section xml:id="dbdoclet.50569329_70628">
<title>Persistent Memory</title>
<para>Selected regions of storage (LMBs) may be optionally preserved
across client program boot cycles. See <xref linkend="dbdoclet.50569327_70628"/>
and <xref linkend="dbdoclet.50569332_28221"/>.</para>
across client program boot cycles. See <xref linkend="dbdoclet.50569327_70628"/> and
"Managing Storage Preservations" in <xref linkend="LoPAR.RTAS"/> specification.</para>
</section>
</section>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569341_39268"
@ -26,7 +10,7 @@
<title>VPD and Location Code OF Properties</title>
<para>A set of OF properties is defined to facilitate asset protection and
RAS capabilities in LoPAR systems. The following properties are defined in
<xref linkend="dbdoclet.50569368_31220"/>):</para>
<xref linkend="LoPAR.DeviceTree"/>):</para>

<itemizedlist>
<listitem>
@ -153,7 +137,7 @@
<section xml:id="dbdoclet.50569341_23269">
<title>System Identification</title>
<para><xref linkend="dbdoclet.50569368_91814"/> provides properties in the
<para><xref linkend="LoPAR.DeviceTree"/> provides properties in the
&#x201C;OF Root Node&#x201D; section called <emphasis role="bold"><literal>&#x201C;system-id&#x201D;</literal></emphasis>
and<emphasis role="bold"><literal>&#x201C;model&#x201D;</literal></emphasis>.</para>

@ -787,7 +771,7 @@
<para>A logical path location label consists of the prefix
&#x201C;L&#x201D; followed by a decimal or hexadecimal number with no leading
zeros. Refer to <xref linkend="dbdoclet.50569341_26909"/> through
<xref linkend="sec_nvme_device_logical_path_location_codes"/> to determine when decimal and hexadecimal
<xref linkend="dbdoclet.50569341_35517"/> to determine when decimal and hexadecimal
values are allowed. A location code may have zero or more logical path location
labels. When present, the logical path location label follows the location
label of the resource that interfaces with the resource being located, usually
@ -1140,30 +1124,20 @@

<section xml:id="dbdoclet.50569341_32742">
<title>Virtual Card Connector Location Codes</title>
<para>Virtual card connector location codes are formed as
though there were a virtual planar with card slots.
For example, the location code for a virtual IOA in partition
5 and in virtual slot 3 would be of the form:</para>
<itemizedlist mark="none">
<listitem>
<para>U9117.001.1076DEF-V5-C4</para>
</listitem>
</itemizedlist>
<para>The partition number 5 is specified in the V label
and the virtual slot number 3 is specified in the C
label. Also note that the U label specifies the system
type, model, and serial (the system location code),
not the enclosure type, model, and serial.</para>

<para>Some operating systems may append a T label
to the virtual IOA location code. For example:</para>
<para>Virtual card connector location codes are formed as though there
were a virtual planar with card slots. For example, a virtual IOA would have a
location code of form: </para>
<itemizedlist mark="none">
<listitem>
<para>U9117.001.1076DEF-V5-C4-T1</para>
<para>U9117.150.1054321-V5-C2</para>
</listitem>
</itemizedlist>
<para>In the virtual card connector location code, the unit location
label specifies the system location code, not the CEC enclosure location
code.</para>
<para>It is recommended that the card connector location label have a
non-zero numeric part, for human factors reasons.</para>
</section>

<section xml:id="dbdoclet.50569341_26909">
<title>Port Location Codes</title>
<para>Port location codes are formed by appending the port location
@ -1267,7 +1241,8 @@
</section>

<section>
<title>SCSI Device Logical Path Location Codes -- Real</title>
<title>SCSI Device Logical Path Location Codes -- Real and
Virtual</title>
<para>SCSI (Small Computer System Interface) devices whose parent does
not support location label VPD will have location codes that are composed of
the location code of the controlling SCSI port followed by the SCSI Target
@ -1280,6 +1255,24 @@
(Decimal L values)</para>
</listitem>
</itemizedlist>

<para>For virtual SCSI, a 48-bit ID is currently used (but is not limited
from moving to 64-bit) to identify the attached virtualized SCSI device. This
48/64 bit ID is represented with a -L# in hexadecimal. There is no separate
LUN#. Examples are:</para>
<itemizedlist mark="none">
<listitem>
<para>U7043.150.1076543-P4-T1-L830000000000<?linebreak?>
(Hexadecimal L value)</para>
</listitem>
<listitem>
<para>or</para>
</listitem>
<listitem>
<para>U7043.150.1076543-P4-T3-W830000000000-L0 <?linebreak?>
(Hexadecimal W and L values)</para>
</listitem>
</itemizedlist>
</section>

<section>
@ -1326,7 +1319,7 @@

<section>
<title>Fibre Channel Device Logical Path Location Codes --
Real</title>
Real and Virtual</title>
<para>Fibre channel devices that are not mounted/docked on a backplane
that supports location code VPD will have location codes composed of the
location of the port on the controlling IOA followed by the worldwide unique
@ -1339,6 +1332,15 @@
<para>U787A.001.1012345-P1-C5-T2-W123456789ABCDEF0-L1A05000000000000</para>
</listitem>
</itemizedlist>

<para>The same disk being accessed through virtual fibre channel would
appear like:</para>
<itemizedlist mark="none">
<listitem>
<para>U9111.520.1012345-V2-C4-T1-W123456789ABCDEF0-L1A05000000000000</para>
</listitem>
</itemizedlist>
</section>

<section xml:id="dbdoclet.50569341_30561">
@ -1579,208 +1581,6 @@
</listitem>
</itemizedlist>
</section>

<section>
<title>Location Code for Coherent Platform Facility</title>

<para>A Coherent Platform Facility serves as the parent node for Coherent
Platform Function devices. These devices describe the virtual topology of
the coherently attached function. The location code is derived from the
physical resource loca- tion code that the coherent platform facility is
representing. For example, the form of the location code is:</para>

<itemizedlist mark="none">
<listitem>
<para>U1234.001.1054321-P1-C7</para>
</listitem>
</itemizedlist>
</section>

<section>
<title>Location Code for Coherent Platform Function</title>
<para>A Coherent Platform Function comprises a coherently attached functional
unit. These location codes are formed by ap- pending a -Sy-Sz label which
is a zero starting decimal value that describes the resources within the
Coherent Platform Facility that are used by the Coherent Platform Function.
For example, the form of the location code is:</para>

<itemizedlist mark="none">
<listitem>
<para>U1234.001.1054321-P1-C7-S0-S1</para>
</listitem>
</itemizedlist>
</section>

<section xml:id="sec_resource_location_codes">
<title>Resource Location Codes</title>

<para>The resource location label consists of the
prefix 'R' followed by a non-zero decimal number. A
resource location code identifies a chip or function
embedded on a FRU. There may be multiple
resources associated with a FRU. The numbering of the
resources on a particular FRU should match
the left to right, top to bottom positioning of the
resources on the FRU when the FRU is in a typical
service position.</para>

<para>It should be noted that embedded adapters with
internal ports existed prior to introduction of the
resource label. Use of the resource label for unique
partitionable endpoint identification may or may
not be retrofitted to those adapters as they are
carried forward to new platforms.</para>
</section>

<section xml:id="sec_multiple_frus_same_physical_space">
<title>Multiple FRUs In The Same Physical Space</title>

<para>A physical location code is tied to the connector
that a FRU plugs into. If two different parts with
different part numbers can plug into the same connector,
both parts will have the same location code.
However, if two different parts can plug into two
different connectors but share the same physical
space when either is installed, those parts should
each have a different location code. For example, if
two different GX adapters (such as the Bjorn IB adapter
and Newcombe PCI slot riser on Jupiter-IOC)
connect to the same planar using the same connector,
they should both be assigned the same location
code. But if a GX adapter or a PCI adapter can be
installed on a planar, but not both at the same time
as they both can't fit at the same time given the
placement of the connectors on the planar, both slots
should be assigned unique location codes.</para>
</section>

<section xml:id="sec_pcie_attached_io_drawers">
<title>PCI-E Attached I/O Drawers</title>

<para>A PCI-E attached I/O drawer is an I/O drawer that
attaches to a GX adapter in the CEC via PCI-E
cables (as opposed to RIO or IB cables). There are two
different types of PCI-E attached I/O drawers:
ones where PHB(s) on the GX adapter connect directly
to I/O devices in the drawer and ones where the
PHB(s) on the GX adapter connect to switches (or other
fan-out logic) in the I/O drawer. In the former
case, the partitionable endpoint (PE) is the logical
PHB connection to the device. In the latter case, the
PEs are the slots wired to the downstream switch ports.</para>

<para>For GX cards whose PHBs connect directly to
devices in the I/O drawer (such as Bluehawk), the
location code and DRC name of the I/O slot partitionable
endpoint will be of the form Ucec-Pw-Cx-
Ty-Lz. Here, Ucec is the type/model/serial of the CEC
that contains the GX adapter, Pw is the planar
that contains the GX adapter, Cx is the GX adapter,
Ty is one of the ports on the adapter, and Lz is a
logical label representing a logical PCI-e connection
to an I/O device at the other end of the PCI-e
cable plugged into that port (note that there may be
multiple Cx labels if the GX adapter doesn't plug
directly into the planar in the system in question).
This location code and DRC name will be generated
by system firmware for each PE on each GX adapter that
is installed in the system and that supports
direct-connect drawers (i.e. drawers without a PCI-E
switch in them). The location code and DRC
name will be generated regardless of whether or not a
PCI-E cable is attached to the GX adapter.
It is permissible to append additional labels beyond
the L label to create different location codes for
FRUs/devices downstream from the I/O device in the
drawer that is attached to the PCI-e cable. It is
not required that all subsequent labels be logical labels.</para>

<para>For GX cards whose ports connect to a PCI-E switch
in an I/O drawer via PCI-E cables, the location
code format has not yet been defined.</para>
</section>

<section xml:id="sec_virtual_scsi_device_location_codes">
<title>Virtual SCSI (vSCSI) Device Location Codes</title>

<para>The location code for a virtual SCSI (vSCSI)
device is formed by appending an L label to the location
code of the parent virtual IOA. The L label contains a
48 or 64 bit hexadecimal value that uniquely
identifies the virtualized SCSI device. A virtual
SCSI device attached to a virtual IOA at
U9119.MME.1085B17-V4-C5-T1 would have a location code of the form:
U9119.MME.1085B17-V4-C5-T1-L8100000000000000
Note that some old pSeries firmware may represent
the virtualized device identifier as
W8100000000000000-L0 rather than simply L8100000000000000. This approach was abandoned in
late 2008.</para>

<para>See <xref linkend="dbdoclet.50569341_32742" /> for a description of the
virtual IOA location code.</para>
</section>

<section xml:id="sec_virtual_fibre_channel_device_location_codes">
<title>Virtual Fibre Channel Device Location Codes</title>

<para>The location code for a virtual fibre channel device
is formed by appending the worldwide unique port
identifier (W label) and LUN (L label) to the location
code of the parent virtual IOA. The values of
the L and W labels are both in hexadecimal. A fibre
channel disk attached to a virtual IOA at
U9119.MME.1085B17-V4-C5-T1 would have a location
code of the form:</para>

<itemizedlist mark="none">
<listitem>
<para>U9119.MME.1085B17-V2-C4-T1-W123456789ABCDEF0-L1A05000000000000</para>
</listitem>
</itemizedlist>

<para>See <xref linkend="dbdoclet.50569341_32742" /> for a description of the
virtual IOA location code.</para>
</section>

<section xml:id="sec_nvme_device_logical_path_location_codes">
<title>NVMe Device Logical Path Location Codes</title>

<para>Non-volatile memory (NVM) devices that are
not mounted/docked on a backplane that supports
location code VPD will have location codes composed
of the location code of the controlling IOA
followed by a L label. The number value of L label
is a decimal value, and it is the unique NVMe
namespace identifier. An NVMe device controlled by
an IOA at U787A.001.1012345-P1-C5 would
have a location code of the form:</para>

<itemizedlist mark="none">
<listitem>
<para>U787A.001.1012345-P1-C5-L3</para>
</listitem>
</itemizedlist>
</section>

<section xml:id="sec_virtual_capi_function_location_codes">
<title>Virtual Coherent Accelerator (CAPI) Function Location Codes</title>

<para>The location code for a virtual coherent accelerator
(CA) function is formed by appending two S labels,
the first specifying the identifier of the physical
function and the second specifying the identifier of the
logical function, both in decimal, to the location code of
the physical CAPI adapter. A virtual CA
function associated with physical function 1 and logical
function 2 on the CAPI adapter at location
U78CA.001.1234567-P1-C4-C1 would have location code:</para>

<itemizedlist mark="none">
<listitem>
<para>U78CA.001.1234567-P1-C4-C1-S1-S2</para>
</listitem>
</itemizedlist>
</section>
</section>
</section>

@ -3154,27 +2954,6 @@
<para> Model Number: 3 characters with a leading blank.</para>
</entry>
</row>
<row>
<entry>
<para> ME </para>
</entry>
<entry>
<para> ASCII</para>
</entry>
<entry>
<para> 8</para>
</entry>
<entry>
<para> --</para>
</entry>
<entry>
<para>Microcode Service Entitlement Expiration Date</para>
<para>This is the date a customer's system firmware service warranty period
expires. System firmware images with MG dates that are later than a system's
ME date are not entitled to be flashed on that system.</para>
<para>Format:<?linebreak?>yyyymmdd</para>
</entry>
</row>
<row>
<entry>
<para> MF </para>
@ -3194,25 +2973,6 @@
keyword.</para>
</entry>
</row>
<row>
<entry>
<para> MG </para>
</entry>
<entry>
<para> ASCII</para>
</entry>
<entry>
<para> 8</para>
</entry>
<entry>
<para> --</para>
</entry>
<entry>
<para>Microcode General Availability/Release Date</para>
<para>This is the date the system firmware image was released and published for customer use.</para>
<para>Format:<?linebreak?>yyyymmdd</para>
</entry>
</row>
<row>
<entry>
<para> MI </para>
@ -4723,7 +4483,7 @@
<para> Up to 56</para>
</entry>
<entry>
<para> Processor CoD Capacity Card Info per <xref linkend="dbdoclet.50569332_47931"/></para>
<para> Processor CoD Capacity Card Info per <xref linkend="LoPAR.RTAS"/></para>
</entry>
</row>
<row>
@ -4737,7 +4497,7 @@
<para> Up to 56</para>
</entry>
<entry>
<para> Memory CoD Capacity Card Info per <xref linkend="dbdoclet.50569332_47931"/></para>
<para> Memory CoD Capacity Card Info per <xref linkend="LoPAR.RTAS"/></para>
</entry>
</row>
<row>

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569340_14972"
@ -25,7 +9,7 @@
<para>This architecture supports the implementation of symmetric
multiprocessor (SMP) systems as an optional feature. This Chapter provides
information concerning the design and programming of such systems. For SMP OF
binding information, see <xref linkend="dbdoclet.50569368_56107"/>.</para>
binding information, see <xref linkend="LoPAR.DeviceTree"/>.</para>
<para>SMP systems differ from uniprocessors in a number of ways. These
differences are not all covered in this chapter. Other chapters that cover
SMP-related topics include:</para>
@ -41,7 +25,7 @@
</listitem>
<listitem>
<para>Error handling: <xref linkend="dbdoclet.50569337_37595"/></para>
<para>Error handling: <xref linkend="LoPAR.Error"/></para>
</listitem>
</itemizedlist>

@ -101,8 +85,8 @@
<listitem>
<para><emphasis role="bold">For the Symmetric Multiprocessor
option:</emphasis> The extensions defined in
<xref linkend="dbdoclet.50569368_56107"/>, and the SMP support section of the RTAS
specifications (see <xref linkend="dbdoclet.50569332_36251"/>) must be implemented.</para>
<xref linkend="LoPAR.DeviceTree"/>, and the SMP support section of the RTAS
specifications (see <xref linkend="LoPAR.RTAS"/>) must be implemented.</para>
</listitem>
</varlistentry>
@ -160,7 +144,7 @@
<listitem>
<para>Hardware for SMPs must provide a means for synchronizing all the
time bases of all the processors in the platform, for use by platform firmware.
See <xref linkend="dbdoclet.50569332_36251"/>. This is for purposes of clock synchronization
See <xref linkend="LoPAR.RTAS"/>. This is for purposes of clock synchronization
at initialization and at times when the processor loses time base state.</para>
</listitem>
</varlistentry>
@ -278,7 +262,7 @@
the state of the system and will continue to be in that state until awakened by
some outside force, such as an inter-processor interrupt (IPI).<footnote xml:id="pgfId-242214"><para>Another
characteristic of the <emphasis>stopped</emphasis> state,
defined in <xref linkend="dbdoclet.50569374_59715"/>, is that the
defined in <xref linkend="LoPAR.RTAS"/>, is that the
processor remembers nothing of its prior life when placed in a
<emphasis>stopped</emphasis> state; this distinguishes it from the
<emphasis>idle</emphasis> state. That isn&#x2019;t strictly necessary for this booting
@ -356,7 +340,7 @@
interrupts directed at it. This identity is determined by board wiring: The
processor attached to the &#x201C;processor 0&#x201D; wire from the interrupt
controller has identity 0. For information about how this identity is used, see
<xref linkend="dbdoclet.50569368_56107"/>.</para>
<xref linkend="LoPAR.DeviceTree"/>.</para>
<para>The method used by a platform to identify its processors is
dependent upon the platform hardware design and may be based upon service
processor information, identification registers, inter-processor interrupts, or

@ -1,20 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2016, 2020 OpenPOWER Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<?xml version="1.0"?>
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xl="http://www.w3.org/1999/xlink"
xml:id="dbdoclet.50569327_31987"
@ -347,7 +331,7 @@
<section xml:id="dbdoclet.50569327_28943">
<title>Locate an OS Boot Image </title>
<para>The OS boot image is located as described in
<xref linkend="dbdoclet.50569368_91814"/>. A device and filename can be specified directly
<xref linkend="LoPAR.DeviceTree"/>. A device and filename can be specified directly
from the command interpreter (the <emphasis>boot</emphasis> command) or OF
will locate the image through an automatic boot process controlled by
configuration variables. Once a boot image is located, the device path is set
@ -361,7 +345,7 @@
<emphasis role="bold"><literal>boot-device</literal></emphasis> entries that the platform processes.</para>
<para>If multi-boot (multiple bootable OSs residing on the same platform) is supported,
a configuration variable instructs the firmware to display a multi-boot menu
from which the OS and bootpath are selected. See <xref linkend="dbdoclet.50569368_91814"/>
from which the OS and bootpath are selected. See <xref linkend="LoPAR.DeviceTree"/>
for information relating to the multiboot process.</para>

<variablelist>
@ -384,10 +368,10 @@
<section xml:id="dbdoclet.50569327_26247">
<title>Boot Process</title>
<para>The boot process is described in <xref linkend="dbdoclet.50569368_91814"/>.
<para>The boot process is described in <xref linkend="LoPAR.DeviceTree"/>.
Steps in the process are reviewed here, but the
authoritative and complete description of the process is included in
<xref linkend="dbdoclet.50569368_91814"/>. <xref linkend="dbdoclet.50569327_17087"/> is a
<xref linkend="LoPAR.DeviceTree"/>. <xref linkend="dbdoclet.50569327_17087"/> is a
depiction of the boot flow showing the action of the f1, f5, and f6 function
keys. The figure should only be used as an aid in understanding the
requirements for LoPAR systems.</para>
@ -447,7 +431,7 @@
<para>Once the boot prompt is displayed, the System Management Services
(SMS) menu can be invoked. SMS provides a user interface for utilities,
configuration, and the Multiboot Menu (as introduced in
<xref linkend="dbdoclet.50569368_91814"/>) for boot/install and the OF command
<xref linkend="LoPAR.DeviceTree"/>) for boot/install and the OF command
interpreter.</para>
<para>The Multiboot menu is formatted so that block devices that
currently contain boot information are most easily selected by the user.
@ -737,7 +721,7 @@
<emphasis role="bold"><literal>diag-device</literal></emphasis>
configuration variables must include the standard block device
<literal>bootinfo.txt</literal> file specification as documented in
<xref linkend="dbdoclet.50569368_91814"/> (<literal>\ppc\bootinfo.txt</literal>).</para>
<xref linkend="LoPAR.DeviceTree"/> (<literal>\ppc\bootinfo.txt</literal>).</para>
</listitem>
</varlistentry>
</variablelist>
@ -745,7 +729,7 @@

<section xml:id="dbdoclet.50569327_20641">
<title>Tape Boot</title>
<para>Boot from tape is defined in <xref linkend="dbdoclet.50569368_91814"/>.</para>
<para>Boot from tape is defined in <xref linkend="LoPAR.DeviceTree"/>.</para>
</section>

<section xml:id="sec_network_boot">
@ -913,7 +897,7 @@ ELSE
the platform using the <emphasis>ibm,manage-storage-preservation</emphasis>
RTAS call if it wants the contents of the storage preserved across client boot
cycles (see also "Managing Storage Preservations" in
<xref linkend="dbdoclet.50569332_28221"/> specification). The architectural intent of this
<xref linkend="LoPAR.RTAS"/> specification). The architectural intent of this
facility is to enable client programs to emulate persistent storage. This is
done by a client program registering preservable LMBs. Then, after a subsequent
boot cycle (perhaps due to error or impending power loss) the presence of the
@ -1045,7 +1029,7 @@ ELSE
<term><emphasis role="bold">R1-<xref linkend="dbdoclet.50569327_22507"
xrefstyle="select: labelnumber nopage"/>-1.</emphasis></term>
<listitem>
<para>Platforms must implement OF as defined in <xref linkend="dbdoclet.50569368_91814"/>.</para>
<para>Platforms must implement OF as defined in <xref linkend="LoPAR.DeviceTree"/>.</para>
</listitem>
</varlistentry>
@ -1069,7 +1053,7 @@ ELSE
xrefstyle="select: labelnumber nopage"/>-3.</emphasis></term>
<listitem>
<para>Platforms must implement the Run-Time Abstraction Services (RTAS) as described in
<xref linkend="dbdoclet.50569332_13537"/>.</para>
<xref linkend="LoPAR.RTAS"/>.</para>
</listitem>
</varlistentry>
@ -1154,7 +1138,7 @@ ELSE
<section>
<title>Tape Install</title>
<para>The OF definition of installation from tape is defined in
<xref linkend="dbdoclet.50569368_91814"/>.</para>
<xref linkend="LoPAR.DeviceTree"/>.</para>
</section>

<section xml:id="sec_network_install">
@ -1183,7 +1167,7 @@ ELSE
will run on other vendors&#x2019; platforms which might not have permission to
use AIX diagnostics, the <emphasis role="bold"><literal>&#x201C;ibm,aix-diagnostics&#x201D;</literal></emphasis>
property indicates that AIX diagnostics are permitted (see "Root
Node Properties" in <xref linkend="dbdoclet.50569337_42315"/>).</para>
Node Properties" in <xref linkend="LoPAR.DeviceTree"/>).</para>

<variablelist>
<varlistentry>
@ -1200,14 +1184,15 @@ ELSE

<para><emphasis role="bold">Software Implementation Note:</emphasis> Each OS may implement an OS-specific
run-time diagnostics package, but should, for purposes of consistency, adhere
to the error log formats in <xref linkend="dbdoclet.50569337_42315"/>.</para>
to the error log formats in <xref linkend="LoPAR.Error"/>.</para>
</section>

<section xml:id="sec_platform_class">
<title>Platform Class</title>
<para>The <emphasis role="bold"><literal>&#x201C;ibm,model-class&#x201D;</literal></emphasis> OF property
is defined to classify platforms for planning, marketing, licensing, and
service purposes (see <xref linkend="dbdoclet.50569368_54493"/>).</para>
service purposes (see "Root Node Properties" in
<xref linkend="LoPAR.DeviceTree"/>).</para>

<variablelist>
<varlistentry>
@ -1711,7 +1696,7 @@ ELSE
<para> OR</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569342_75822"/> for more information. </para>
<para> See <xref linkend="LoPAR.Virtualization"/> for more information. </para>
</entry>
</row>
<row>
@ -1725,7 +1710,7 @@ ELSE
<para> OR</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569342_75053"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1741,8 +1726,8 @@ ELSE
<entry>
<para> See <xref linkend="dbdoclet.50569330_34831"/> and
<xref linkend="dbdoclet.50569330_17337"/>. Requirements for platforms that implement
LPAR, regardless of the number of partitions (Requirements <xref linkend="dbdoclet.50569344_47137"/>
and <xref linkend="dbdoclet.50569344_28369"/>).</para>
LPAR, regardless of the number of partitions, are contained in
<xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1770,7 +1755,7 @@ ELSE
<para> R</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569344_14591"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1816,7 +1801,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569332_19739"/> for more information on
<para> See <xref linkend="LoPAR.RTAS"/> for more information on
support of I<superscript>2</superscript>C buses.</para>
</entry>
</row>
@ -1831,7 +1816,7 @@ ELSE
<para> R</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569332_12478"/>. </para>
<para><xref linkend="LoPAR.RTAS"/>. </para>
</entry>
</row>
<row>
@ -1845,7 +1830,7 @@ ELSE
<para> R</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569332_24237"/>.</para>
<para><xref linkend="LoPAR.RTAS"/>.</para>
</entry>
</row>
<row>
@ -1859,7 +1844,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569332_41873"/>.</para>
<para><xref linkend="LoPAR.RTAS"/>.</para>
</entry>
</row>
<row>
@ -1873,7 +1858,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569332_61466"/>.</para>
<para><xref linkend="LoPAR.RTAS"/>.</para>
</entry>
</row>
<row>
@ -1903,7 +1888,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569344_27067"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1917,7 +1902,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569348_48491"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1931,7 +1916,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569348_61656"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1945,7 +1930,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569350_23147"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1959,7 +1944,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569350_17923"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1973,7 +1958,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569350_53238"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -1987,7 +1972,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569350_39278"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2001,7 +1986,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569351_35753"/>.</para>
<para><xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2015,7 +2000,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569364_64078"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2029,7 +2014,8 @@ ELSE
<para> NS</para>
</entry>
<entry>
<para><xref linkend="dbdoclet.50569327_70628"/> and <xref linkend="dbdoclet.50569332_28221"/>.</para>
<para><xref linkend="dbdoclet.50569327_70628"/> and "Managing
Storage Preservations" in <xref linkend="LoPAR.RTAS"/> specification.</para>
</entry>
</row>
<row>
@ -2046,7 +2032,7 @@ ELSE
<para> Required of all platforms that support LPAR, otherwise not
implemented. Provides a virtual &#x201C;Asynchronous&#x201D; IOA for connecting
to a server Vterm IOA, the hypervisor, or HMC (for example, to a virtual
console). See <xref linkend="dbdoclet.50569352_15379"/> for more
console). See <xref linkend="LoPAR.Virtualization"/> for more
information.</para>
</entry>
</row>
@ -2092,9 +2078,8 @@ ELSE
</entry>
<entry>
<para> Provides access to platform-level facilities for
performance tools running in a partition on an LPAR system.
See
<xref linkend="dbdoclet.50569332_26596"/>.></para>
performance tools running in a partition on an LPAR system. See
<xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2122,7 +2107,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569350_39077"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2136,7 +2121,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="sec_vmc"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2231,7 +2216,7 @@ ELSE
<entry>
<para> Allows an authorized virtual server partition (VSP) to
safely access the internal state of a specific partition. See
<xref linkend="sec_vasi"/> for more details. Requires the Reliable
<xref linkend="LoPAR.Virtualization"/> for more details. Requires the Reliable
Command/Response Transport option.</para>
</entry>
</row>
@ -2263,7 +2248,7 @@ ELSE
<entry>
<para> Allows the OS to indicate that there is no need to search
secondary page table entry groups to determine a page table search has failed.
See <xref linkend="dbdoclet.50569344_39908"/> for more details.</para>
See <xref linkend="LoPAR.Virtualization"/> for more details.</para>
</entry>
</row>
<row>
@ -2307,7 +2292,7 @@ ELSE
</entry>
<entry>
<para> Support for the Subordinate CRQs as needed by some Virtual
IOAs. See <xref linkend="dbdoclet.50569348_28179"/>.</para>
IOAs. See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2323,7 +2308,7 @@ ELSE
<entry>
<para> The CMO option allows for partition participation in the
over-commitment of logical memory by the platform. See
<xref linkend="dbdoclet.50569344_44716"/>.</para>
<xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2338,7 +2323,7 @@ ELSE
</entry>
<entry>
<para> Allows the OS to cooperate with platform energy
management. See <xref linkend="dbdoclet.50569344_18587"/>.</para>
management. See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2353,7 +2338,7 @@ ELSE
</entry>
<entry>
<para> Support for the Multi-TCE-Table Option. See
<xref linkend="dbdoclet.50569344_50921"/>.</para>
<xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2369,7 +2354,7 @@ ELSE
<entry>
<para> Provides substantially consistent virtual processor
associativity in a shared processor LPAR environment. See
<xref linkend="dbdoclet.50569344_56450"/>.</para>
<xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2397,7 +2382,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569366_19541"/>.</para>
<para> See <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2412,7 +2397,7 @@ ELSE
</entry>
<entry>
<para> Allows OS notification of a cooperative memory
overcommitment page fault see <xref linkend="dbdoclet.50569344_20827"/>.</para>
overcommitment page fault see <xref linkend="LoPAR.Virtualization"/>.</para>
</entry>
</row>
<row>
@ -2428,7 +2413,7 @@ ELSE
<entry>
<para> Allows the platform to communicate and the availability of
performance boost modes along with any ability to manage the same. See
<xref linkend="dbdoclet.50569332_57301"/></para>
<xref linkend="LoPAR.RTAS"/></para>
</entry>
</row>
<row>
@ -2460,7 +2445,7 @@ ELSE
</entry>
<entry>
<para> Allows the creation of DMA Windows above 4 GB. See
<xref linkend="dbdoclet.50569332_14137"/>.</para>
<xref linkend="LoPAR.RTAS"/>.</para>
</entry>
</row>
<row>
@ -2475,7 +2460,7 @@ ELSE
</entry>
<entry>
<para>
<xref linkend="dbdoclet.50569368_54493"/> for information on ibm,partition-uuid.
<xref linkend="LoPAR.Virtualization"/>
</para>
</entry>
</row>
@ -2490,9 +2475,7 @@ ELSE
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="dbdoclet.50569344_80550"/>,
<xref linkend="dbdoclet.50569344_61580"/>, and
<xref linkend="dbdoclet.50569344_93738"/> for more information.</para>
<para> See <xref linkend="LoPAR.Virtualization"/> for more information.</para>
</entry>
</row>
<row>
@ -2507,95 +2490,7 @@ ELSE
</entry>
<entry>
<para> Introduces additional cooperative memory overcommitment
functions see <xref linkend="dbdoclet.50569344_44716"/></para>
</entry>
</row>
<row>
<entry>
<para> Memory Usage Instrumentation Option (MUI)</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para> See <xref linkend="sec_mui_opt"/>.</para>
</entry>
</row>
<row>
<entry>
<para>Block Invalidate Option</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para>Allows improved performance for removing page table entries representing a naturally aligned
block of virtual addresses.</para>
</entry>
</row>
<row>
<entry>
<para>Energy Management Tuning Parameters (EMTP)</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para>Reports the system Energy Management tuning values.</para>
</entry>
</row>
<row>
<entry>
<para>In-Memory Table Translation Option</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para> O</para>
</entry>
<entry>
<para>Provides support for the system wide Memory Management Unit
architecture introduced in POWER ISA 3.0</para>
</entry>
</row>
<row>
<entry>
<para>Hash Page Table Resize Option</para>
</entry>
<entry>
<para>O</para>
</entry>
<entry>
<para>O</para>
</entry>
<entry>
<para>Allows partitions to resize their HPT. See
<xref linkend="sec_hash_page_table_resize_option"/>.</para>
</entry>
</row>
<row>
<entry>
<para>Coherent Platform Facility</para>
</entry>
<entry>
<para>O</para>
</entry>
<entry>
<para>O</para>
</entry>
<entry>
<para>See
<xref linkend="sec_coherent_platform_facilities"/>.</para>
functions see <xref linkend="LoPAR.Virtualization"/></para>
</entry>
</row>
</tbody>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save