<?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’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>