Merge branch 'async-scsi-resume' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / Documentation / ABI / stable / sysfs-firmware-opal-elog
1 What:           /sys/firmware/opal/elog
2 Date:           Feb 2014
3 Contact:        Stewart Smith <stewart@linux.vnet.ibm.com>
4 Description:
5                 This directory exposes error log entries retrieved
6                 through the OPAL firmware interface.
7
8                 Each error log is identified by a unique ID and will
9                 exist until explicitly acknowledged to firmware.
10
11                 Each log entry has a directory in /sys/firmware/opal/elog.
12
13                 Log entries may be purged by the service processor
14                 before retrieved by firmware or retrieved/acknowledged by
15                 Linux if there is no room for more log entries.
16
17                 In the event that Linux has retrieved the log entries
18                 but not explicitly acknowledged them to firmware and
19                 the service processor needs more room for log entries,
20                 the only remaining copy of a log message may be in
21                 Linux.
22
23                 Typically, a user space daemon will monitor for new
24                 entries, read them out and acknowledge them.
25
26                 The service processor may be able to store more log
27                 entries than firmware can, so after you acknowledge
28                 an event from Linux you may instantly get another one
29                 from the queue that was generated some time in the past.
30
31                 The raw log format is a binary format. We currently
32                 do not parse this at all in kernel, leaving it up to
33                 user space to solve the problem. In future, we may
34                 do more parsing in kernel and add more files to make
35                 it easier for simple user space processes to extract
36                 more information.
37
38                 For each log entry (directory), there are the following
39                 files:
40
41                 id:             An ASCII representation of the ID of the
42                                 error log, in hex - e.g. "0x01".
43
44                 type:           An ASCII representation of the type id and
45                                 description of the type of error log.
46                                 Currently just "0x00 PEL" - platform error log.
47                                 In the future there may be additional types.
48
49                 raw:            A read-only binary file that can be read
50                                 to get the raw log entry. These are
51                                 <16kb, often just hundreds of bytes and
52                                 "average" 2kb.
53
54                 acknowledge:    Writing 'ack' to this file will acknowledge
55                                 the error log to firmware (and in turn
56                                 the service processor, if applicable).
57                                 Shortly after acknowledging it, the log
58                                 entry will be removed from sysfs.
59                                 Reading this file will list the supported
60                                 operations (curently just acknowledge).