summaryrefslogtreecommitdiffstats
path: root/src/usr/errl/plugins/errlParse.C
blob: daefc640cd9c82e96ca553bbb768d15b6756bd68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*  IBM_PROLOG_BEGIN_TAG
 *  This is an automatically generated prolog.
 *
 *  $Source: src/usr/errl/plugins/errlParse.C $
 *
 *  IBM CONFIDENTIAL
 *
 *  COPYRIGHT International Business Machines Corp. 2012
 *
 *  p1
 *
 *  Object Code Only (OCO) source materials
 *  Licensed Internal Code Source Materials
 *  IBM HostBoot Licensed Internal Code
 *
 *  The source code for this program is not published or other-
 *  wise divested of its trade secrets, irrespective of what has
 *  been deposited with the U.S. Copyright Office.
 *
 *  Origin: 30
 *
 *  IBM_PROLOG_END_TAG
 */
/**
 *  @file initsvcParse.C
 *
 *  errl user detail data and src parser
 */

//------------------------------------------------------------------------------
// User detail data parser
//------------------------------------------------------------------------------
#include "symbols.H"
#include <errl/errludparser.H>
#include <errl/errludparserfactoryerrl.H>
ERRL_MAKE_UD_PARSER(ERRORLOG::ErrlUserDetailsParserFactoryErrl, HBERRL_COMP_ID)

//------------------------------------------------------------------------------
// Src parser (call code generated by scanforsrc.pl)
//------------------------------------------------------------------------------

// FSP include
#include <srcisrc.H>

// Hostboot include
#include <hostBootSrcParse.H>

static bool hbSrcParse( ErrlUsrParser & i_parser, const SrciSrc & i_src  )
{
  uint32_t src = 0;

  sscanf( i_src.getAsciiString(), "%X", &src );

  // Call this function in obj/genfiles/hostBootSrcParse.H (a script-generated
  // file) which serves for any Hostboot component.   This will cause
  // the FSP errl tool to add the tagged information to the primary SRC
  // section of the error log. For example, the developer description
  // (devdesc) tag and associated info as well as the other tags describing
  // the userdata1 and userdata2 words.
  printErrorTags( i_parser, (src & 0xFFFF), i_src.moduleId()  );

  return false;
}

// Create an instance of SrcPlugin by type (instead of the usual component).
static errl::SrcPlugin  g_SrcPlugin( HBERRL_COMP_ID, hbSrcParse );

OpenPOWER on IntegriCloud