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