[Skiboot] [PATCH V6 00/12] opal/errorlog : Generalizes error log read/write routines and adds write to host support for BMC systems

Mukesh Ojha 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
    more legible
  Removes the elog_enabled variable check from
    'fsp_elog_check_and_fetch_head' routine
  opal/errorlog : Generalizes the error log write path to host
  opal/errorlog : Removal of elog_reject_head() from
    'opal_kexec_elog_notify' routine
  opal/errorlog : Gives function'fsp_elog_write_set_head_state' a more
    meaningful name
  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 mailing list