| What: /sys/firmware/opal/elog |
| Date: Feb 2014 |
| Contact: Stewart Smith <stewart@linux.vnet.ibm.com> |
| Description: |
| This directory exposes error log entries retrieved |
| through the OPAL firmware interface. |
| |
| Each error log is identified by a unique ID and will |
| exist until explicitly acknowledged to firmware. |
| |
| Each log entry has a directory in /sys/firmware/opal/elog. |
| |
| Log entries may be purged by the service processor |
| before retrieved by firmware or retrieved/acknowledged by |
| Linux if there is no room for more log entries. |
| |
| In the event that Linux has retrieved the log entries |
| but not explicitly acknowledged them to firmware and |
| the service processor needs more room for log entries, |
| the only remaining copy of a log message may be in |
| Linux. |
| |
| Typically, a user space daemon will monitor for new |
| entries, read them out and acknowledge them. |
| |
| The service processor may be able to store more log |
| entries than firmware can, so after you acknowledge |
| an event from Linux you may instantly get another one |
| from the queue that was generated some time in the past. |
| |
| The raw log format is a binary format. We currently |
| do not parse this at all in kernel, leaving it up to |
| user space to solve the problem. In future, we may |
| do more parsing in kernel and add more files to make |
| it easier for simple user space processes to extract |
| more information. |
| |
| For each log entry (directory), there are the following |
| files: |
| |
| ============== ================================================ |
| id: An ASCII representation of the ID of the |
| error log, in hex - e.g. "0x01". |
| |
| type: An ASCII representation of the type id and |
| description of the type of error log. |
| Currently just "0x00 PEL" - platform error log. |
| In the future there may be additional types. |
| |
| raw: A read-only binary file that can be read |
| to get the raw log entry. These are |
| <16kb, often just hundreds of bytes and |
| "average" 2kb. |
| |
| acknowledge: Writing 'ack' to this file will acknowledge |
| the error log to firmware (and in turn |
| the service processor, if applicable). |
| Shortly after acknowledging it, the log |
| entry will be removed from sysfs. |
| Reading this file will list the supported |
| operations (currently just acknowledge). |
| ============== ================================================ |