[Skiboot] [PATCH V6 00/12] opal/errorlog : Generalizes error log read/write routines and adds write to host support for BMC systems
mukesh02 at linux.vnet.ibm.com
Thu Sep 1 05:39:04 AEST 2016
Currently, in the process of committing an error to FSP from OPAL, log info
is first internally converted to PEL format and then pushed to the FSP.
All the errors reported by OPAL are logged to FSP, if for some reason(say
FSP is down) OPAL is not able to log its error to FSP with in a particular
time, then it sends the log to the host directly. So, All the errors logs
(FSP + OPAL) are pushed up to host platform by the FSP.
This patchset improves current error log infrastructure by splitting
existing FSP specific error log read/write routines into common and
hardware(FSP) specific routines. This would make the way easier in
enabling the error log writing to host support for BMC based platforms.
It involves movement of some functions from FSP specific fsp-elog-write.c
and fsp-elog-read.c files to core/errorlog.c . Introduction of platform
hooks for elog info, ack, read and resend pending logs.
This patchset removes redundant code like 'elog_enabled' check and
'elog_reject_head()' routine in some of the places which will elaborated
in the individual patch.
It removes elog_init() usage which is replaced by opal_elog_init().
Currently, the use of elog_init() redundant for 'OPAL running under QEMU'.
We can later add write to host support for 'OPAL running under QEMU'.
It also corrects create date/time issue which will come for the cases
when the same error log sent to both to the host and service processor.
Mukesh Ojha (12):
opal/errorlog : Modification as per coding guidelines to make the code
Removes the elog_enabled variable check from
opal/errorlog : Generalizes the error log write path to host
opal/errorlog : Removal of elog_reject_head() from
opal/errorlog : Gives function'fsp_elog_write_set_head_state' a more
opal/errorlog : Generalizes the error log read path
opal/errorlog : Renames 'fsp_log_state' to 'sp_log_state'
Introduces get and put elog routine and reference count field in elog
Removes the usage of 'elog_init()' routine, replaces it with
opal/errorlog : Enables error log write to host on BMC systems
opal/errorlog : Removes elog_init() for OPAL running under qemu
opal/errorlog : Fixes the problem of different create date/time for
same error log
core/errorlog.c | 307 +++++++++++++++++++++++++++++++++++++++++---
core/pel.c | 5 +-
hw/fsp/fsp-elog-read.c | 238 +++++++++++++---------------------
hw/fsp/fsp-elog-write.c | 283 ++++++++--------------------------------
hw/ipmi/ipmi-sel.c | 89 +++++++------
include/errorlog.h | 24 +++-
include/fsp-elog.h | 37 ++----
include/platform.h | 25 +++-
platforms/astbmc/common.c | 6 +-
platforms/ibm-fsp/apollo.c | 7 +-
platforms/ibm-fsp/common.c | 4 +
platforms/ibm-fsp/firenze.c | 7 +-
platforms/qemu/qemu.c | 2 -
13 files changed, 563 insertions(+), 471 deletions(-)
More information about the Skiboot