You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Linux-Architecture-Reference/Error Handling/sec_error_reporting.xml

88 lines
3.4 KiB
XML

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