History log of /openbmc/phosphor-logging/extensions/ (Results 626 – 650 of 688)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f1e85e2001-Nov-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Validate the Action Flags field

According to the PEL spec, the Action Flags and Event Type fields in the
User Header section must be in agreement with the Severity field. So,
when a PEL is bein

PEL: Validate the Action Flags field

According to the PEL spec, the Action Flags and Event Type fields in the
User Header section must be in agreement with the Severity field. So,
when a PEL is being created from an OpenBMC event log, check those
values for correctness and fix them up if required.

In addition, as those fields are optional in the message registry, this
code will also just set these two fields to valid values if they were
left out.

The rules being followed are documented in the PEL readme.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Iad88de5080ba79a9ff31f962ef99bfc11994b9ed

show more ...


openpower-pels/README.md
openpower-pels/openpower-pels.mk
openpower-pels/pel.cpp
openpower-pels/pel.hpp
openpower-pels/pel_rules.cpp
openpower-pels/pel_rules.hpp
openpower-pels/pel_types.hpp
openpower-pels/user_header.cpp
openpower-pels/user_header.hpp
/openbmc/phosphor-logging/test/openpower-pels/Makefile.include
/openbmc/phosphor-logging/test/openpower-pels/additional_data_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/ascii_string_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/bcd_time_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/failing_mtms_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/fru_identity_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/generic_section_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/log_id_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/mru_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/mtms_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/paths.cpp
/openbmc/phosphor-logging/test/openpower-pels/pce_identity_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_manager_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_rules_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_utils.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_values_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/private_header_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/real_pel_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/registry_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/repository_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/section_header_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/severity_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/src_callout_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/src_callouts_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/src_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/stream_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/user_data_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/user_header_test.cpp
711d51d806-Nov-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Add license prologue to source files

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I31b12f509d32b79064a8a427af35e6a310273051

186ce8c920-Oct-2019 Aatir <aatrapps@gmail.com>

PEL: PELTool Application

PELTooL application would be used to interact with PELs. This commit has
the first functionality, where a PEL file is passed and all PEL sections
are hexdumped in a JSON obj

PEL: PELTool Application

PELTooL application would be used to interact with PELs. This commit has
the first functionality, where a PEL file is passed and all PEL sections
are hexdumped in a JSON object.

Signed-off-by: Aatir <aatrapps@gmail.com>
Change-Id: I155d75bb58cbd14a297b094314f7fd1f271f4f37

show more ...

a7525aaf01-Nov-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Move severity type enums to a header

Move them to a header file so other files can use them in the future.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Icb604489e9629724a79d2fc8

PEL: Move severity type enums to a header

Move them to a header file so other files can use them in the future.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Icb604489e9629724a79d2fc8b110e461b6aa6e01

show more ...

e07f915b01-Nov-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Make action flags optional in the registry

A future commit will fill in the field if it isn't
present.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I67371433162ce2198a362796d274

PEL: Make action flags optional in the registry

A future commit will fill in the field if it isn't
present.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I67371433162ce2198a362796d274695a1bd6a6dc

show more ...

97d19b4829-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Const accessors for Private/UserHeader

Change the combined non-const accessor/setter functions for the
PrivateHeader and UserHeader fields to the standard const accessors, and
have separate set

PEL: Const accessors for Private/UserHeader

Change the combined non-const accessor/setter functions for the
PrivateHeader and UserHeader fields to the standard const accessors, and
have separate setters for the fields that need to be modified.

In addition, make the 'get PrivateHeader' and 'get UserHeader' functions
on the PEL class return a const reference.

This allows const enforcement on the PEL class, for things like:

void func(const PEL& pel)
{
auto id = pel.privateHeader().id();
}

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I840170e72b41e9e2465f716617500269244de6d9

show more ...

da03171725-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Document UserData sections

Add a section in the PEL README to document the UserData sections
that will be created in every new PEL.

Change-Id: I9ff9a69f1d22b56aa8bb9d559802d0595d787c0a
Signed-

PEL: Document UserData sections

Add a section in the PEL README to document the UserData sections
that will be created in every new PEL.

Change-Id: I9ff9a69f1d22b56aa8bb9d559802d0595d787c0a
Signed-off-by: Matt Spinler <spinler@us.ibm.com>

show more ...

afa857c724-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Save AdditionalData in a UserData section

Save the contents of the AdditionalData OpenBMC event log property as
JSON in a UserData PEL section.

For example, if the AdditionalData property, whi

PEL: Save AdditionalData in a UserData section

Save the contents of the AdditionalData OpenBMC event log property as
JSON in a UserData PEL section.

For example, if the AdditionalData property, which is an array of
strings, looks like:
["KEY1=VALUE1", "KEY=VALUE2"]

Then the data stored as ASCII text in the UserData section is:
{"KEY1":"VALUE1","KEY2":"VALUE2"}

If one of the keys is "ESEL", then that entry is removed from the
UserData output as that contains a full raw PEL from the host sent down
as ASCII text.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia6ffabb39fdb4315ec2152744414e44f7d2ec4aa

show more ...

aa65947723-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Create FailingMTMS section for new PELs

When a PEL is created from an OpenBMC event log, add the FailingMTMS
section to the PEL. This contains the machine type, model, and serial
number fields.

PEL: Create FailingMTMS section for new PELs

When a PEL is created from an OpenBMC event log, add the FailingMTMS
section to the PEL. This contains the machine type, model, and serial
number fields.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I8d08e6dda00260efebd2c6ac165270d2aaf98d67

show more ...

67456c2b21-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Start creating PELs from event logs

Look up incoming OpenBMC event logs in the message registry and create
PELs for them if a registry entry is found.

What happens when an event log can't be f

PEL: Start creating PELs from event logs

Look up incoming OpenBMC event logs in the message registry and create
PELs for them if a registry entry is found.

What happens when an event log can't be found in the message registry,
such as creating a different PEL, will be addressed in a separate
commit.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I45c634830021fdf2efb54e3cbfd6d496fd3d7d01

show more ...

bd716f0015-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Create SRC section from message registry

This adds the ability to create an SRC PEL section based on the message
registry entry for an OpenBMC event log.

The event log's AdditionalData propert

PEL: Create SRC section from message registry

This adds the ability to create an SRC PEL section based on the message
registry entry for an OpenBMC event log.

The event log's AdditionalData property is used as a source for the user
defined data words of the SRC, while the other fields in the SRC's data
words are filled in either from the message registry fields or from
current system state or configuration.

The ASCII string field of the SRC is filled in based on the message
registry entry.

This commit doesn't fill in every system status field, as many aren't
even available anywhere yet. Also, this commit doesn't support adding
callouts to an SRC, that will also be handled in the future.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I67fe44e07e4eda6bdeedb4af2eacfc197deb6eb3

show more ...

55a6978425-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Check duplicate reason codes in registry

Reason codes must be unique for every error until there is a
specific reason for them not to be, so check for that while
validating the message registry

PEL: Check duplicate reason codes in registry

Reason codes must be unique for every error until there is a
specific reason for them not to be, so check for that while
validating the message registry JSON file.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I74e0e24e1f129ebf94d25aaf5200b30b256b1307

show more ...

5cb5deb627-Sep-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Script to validate message registry JSON

This script will check the JSON against the schema, as well as do a few
other checks that can't be encoded into a schema.

Signed-off-by: Matt Spinler <

PEL: Script to validate message registry JSON

This script will check the JSON against the schema, as well as do a few
other checks that can't be encoded into a schema.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I97c0fc0f69baac3c076b557b67e47ce8abfccf36

show more ...

a96a794827-Sep-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Add message registry README

This README describes the message registry in an easier to read way than
what is buried in the JSON schema.

The commit also provides a file to document which compon

PEL: Add message registry README

This README describes the message registry in an easier to read way than
what is buried in the JSON schema.

The commit also provides a file to document which component IDs are
used by which repositories/applications.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ibf1109e0a1fb6fff872cfa91d79c007ecf5527b0

show more ...

10f3d93226-Sep-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Add message registry JSON schema

The message registry is JSON data that will aid in converting OpenBMC
event logs into IBM's Platform Event Log (PEL) format. PELs have more
fields than event l

PEL: Add message registry JSON schema

The message registry is JSON data that will aid in converting OpenBMC
event logs into IBM's Platform Event Log (PEL) format. PELs have more
fields than event logs, many with specific IBM defined values, that need
to be able to be looked up for an OpenBMC event log so the PEL can be
filled in. In addition to aiding in creating PELs, it also contains
information to aid in parsing PELs.

This schema defines how that JSON will look, and this commit also
contains an example registry file.

A script will be added in the future to validate the registry JSON
against the schema during a bitbake build.

Until there is a need, the message registry will be contained in a
single JSON file. If there is a need, it can be split up along some
predetermined rules in the future.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I98620b263bd1faff27e36da7a0c101a982b58057

show more ...

44792fd126-Sep-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Install an empty PEL message registry

This will eventually contain the information to create PELs out of
OpenBMC event logs. It is installed into
/usr/share/phosphor-logging/pels.

Signed-off-

PEL: Install an empty PEL message registry

This will eventually contain the information to create PELs out of
OpenBMC event logs. It is installed into
/usr/share/phosphor-logging/pels.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Iaf67881890a47f605af3ae69b54f186b63915ca6

show more ...

935a25e214-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Allow default AdditionalData construction

Enable the default contructor so that an object can be created
without needing any data.

Also make getValue() const as it is const.

Signed-off-by: Ma

PEL: Allow default AdditionalData construction

Enable the default contructor so that an object can be created
without needing any data.

Also make getValue() const as it is const.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Id81879e0367edb1055cbf848ed738bc8dd86e953

show more ...

66d3036e11-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Fix typo in subsystem ID list

The values are all supposed to be in hex.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ic1af46a3505f0f77d6f6f0f1bff998f2ab527522

237570de11-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Stream: Don't use references for << ops

There was no need for the stream insertion operator, <<,
to take a uint8_t, char, uin16_t, uint32_t, or uint64_t as
a reference as they are small and the

PEL: Stream: Don't use references for << ops

There was no need for the stream insertion operator, <<,
to take a uint8_t, char, uin16_t, uint32_t, or uint64_t as
a reference as they are small and they aren't being modified.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I9fbf28af7fa6e8e73fd2df8c102e1689647e686d

show more ...

31eed99609-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Initialize PrivateHeader fields in ctor

In the stream constructor, initialize the member variables to 0 before
unflattening.

This only matters when the data is so short that the 'section count

PEL: Initialize PrivateHeader fields in ctor

In the stream constructor, initialize the member variables to 0 before
unflattening.

This only matters when the data is so short that the 'section count'
field doesn't get initialized and so the code tries to loop through and
unflatten that many optional sections, and since there aren't actually
any it was spitting out extra journal traces about invalid section IDs.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: If08e9ae244d5ade96cafa2160ad9714bebe34551

show more ...

f9bae18509-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Add SRC PEL section class

This section consists of:
- An 8B header
- 8 4B words of hex data
- Some data is predefined based on the SRC format, some is free format.
- A 32B ASCII character str

PEL: Add SRC PEL section class

This section consists of:
- An 8B header
- 8 4B words of hex data
- Some data is predefined based on the SRC format, some is free format.
- A 32B ASCII character string (The AsciiString class)
- An optional section for FRU callouts (The Callouts class)

Usually, the term SRC (System Reference Code) refers to the contents of
the ASCII string and the hex data words, which can then be looked up in
service documentation to find the meaning of the event log. This PEL
section wraps this pure SRC with additional data like callouts.

This commit only adds support for unflattening the section from an
existing PEL, and flattening it again. Future commits will add support
for creating an SRC from message registry data.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3dd97c6aca59cc6d6d6fadef84465164090d5658

show more ...

32f13c9109-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: SRC callouts subsection object

This Callouts class represents the optional subsection of an SRC PEL
section that contains FRU callouts. It is only present in the SRC when
there are callouts, a

PEL: SRC callouts subsection object

This Callouts class represents the optional subsection of an SRC PEL
section that contains FRU callouts. It is only present in the SRC when
there are callouts, and it comes at the end of the section.

It is basically just a container for the Callout objects that represent
the actual callouts.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1d4d95b82f9b4943728d7939e3bf89e4a7bcbb75

show more ...

6c9662c909-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: SRC FRU callout structure

This class represents a single FRU callout in the SRC section of a PEL.
When there are multiple callouts, there will be multiple instances of
this class created. Tech

PEL: SRC FRU callout structure

This class represents a single FRU callout in the SRC section of a PEL.
When there are multiple callouts, there will be multiple instances of
this class created. Technically, the callout isn't always a FRU, such
as it could be a maintenance procedure name, but the spec still refers
to this section as the FRU callout section.

The callout priority and location code are in this structure.

There can also be up to one each of three types of substructures
in a single callout:
* FRU Identity (must be first if present)
* Power Controlling Enclosure (PCE)
* Manufacturing Replaceable Unit (MRU)

This commit just provides support for creating this object from a
flattened PEL, such as one that comes down from the host. A future
commit will add support for creating a callout for BMC created event
logs.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I49535285e3cbaa15dfe031648cfaf262380a1cf7

show more ...

90b4a0a009-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: MRU callout SRC substructure

This substructure is part of the callout subsection in the SRC section
of a PEL, and contains information about Manufacturing Replaceable Units
(MRUs). MRUs are co

PEL: MRU callout SRC substructure

This substructure is part of the callout subsection in the SRC section
of a PEL, and contains information about Manufacturing Replaceable Units
(MRUs). MRUs are components on a parent FRU (Field Replaceable Unit)
that may be able to be replaced in a manufacturing environment, hence
the name.

This substructure includes a list of <priority, MRU ID> pairs, where the
priority is the same priority value type as used elsewhere in the SRC
section ('H', 'M', 'L', etc), and the MRU ID is a 4B ID that development
will tell manufacturing the meanings of.

This commit only adds support for creating an object from a flattened PEL,
such as one that comes down from the host. A future commit will handle
creating it from scratch for BMC errors.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6352e1a3cb84db0516902786faca4c387afef411

show more ...

5b3a11db08-Oct-2019 Matt Spinler <spinler@us.ibm.com>

PEL: Power controlling enc SRC substructure

This substructure is part of the callout subsection in the SRC section
of a PEL, and contains enclosure information for when another enclosure
controls th

PEL: Power controlling enc SRC substructure

This substructure is part of the callout subsection in the SRC section
of a PEL, and contains enclosure information for when another enclosure
controls the power of the failing entity. This would be an unusual
case, when the piece of hardware that is being called out has its power
controlled by another enclosure, for example when an I/O expansion
drawer is connected to 2 servers, and only one of them controls its
power.

This includes:
* The enclosure's name
* The enclosure's machine type, model, and serial number

The BMC will never create this section for BMC errors, but it may need
to unflatten them for PELs sent down from a host that has to deal with
I/O drawers.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ie04c1ee3fdfa67ee8666c10fa3bc837f4d33a9ef

show more ...

1...<<2122232425262728