0001 What: /sys/firmware/opal/elog
0002 Date: Feb 2014
0003 Contact: Stewart Smith <stewart@linux.vnet.ibm.com>
0004 Description:
0005 This directory exposes error log entries retrieved
0006 through the OPAL firmware interface.
0007
0008 Each error log is identified by a unique ID and will
0009 exist until explicitly acknowledged to firmware.
0010
0011 Each log entry has a directory in /sys/firmware/opal/elog.
0012
0013 Log entries may be purged by the service processor
0014 before retrieved by firmware or retrieved/acknowledged by
0015 Linux if there is no room for more log entries.
0016
0017 In the event that Linux has retrieved the log entries
0018 but not explicitly acknowledged them to firmware and
0019 the service processor needs more room for log entries,
0020 the only remaining copy of a log message may be in
0021 Linux.
0022
0023 Typically, a user space daemon will monitor for new
0024 entries, read them out and acknowledge them.
0025
0026 The service processor may be able to store more log
0027 entries than firmware can, so after you acknowledge
0028 an event from Linux you may instantly get another one
0029 from the queue that was generated some time in the past.
0030
0031 The raw log format is a binary format. We currently
0032 do not parse this at all in kernel, leaving it up to
0033 user space to solve the problem. In future, we may
0034 do more parsing in kernel and add more files to make
0035 it easier for simple user space processes to extract
0036 more information.
0037
0038 For each log entry (directory), there are the following
0039 files:
0040
0041 ============== ================================================
0042 id: An ASCII representation of the ID of the
0043 error log, in hex - e.g. "0x01".
0044
0045 type: An ASCII representation of the type id and
0046 description of the type of error log.
0047 Currently just "0x00 PEL" - platform error log.
0048 In the future there may be additional types.
0049
0050 raw: A read-only binary file that can be read
0051 to get the raw log entry. These are
0052 <16kb, often just hundreds of bytes and
0053 "average" 2kb.
0054
0055 acknowledge: Writing 'ack' to this file will acknowledge
0056 the error log to firmware (and in turn
0057 the service processor, if applicable).
0058 Shortly after acknowledging it, the log
0059 entry will be removed from sysfs.
0060 Reading this file will list the supported
0061 operations (currently just acknowledge).
0062 ============== ================================================