#
b832aa5e |
| 21-Mar-2023 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Print component names in peltool
Every PEL section has a 2 byte component ID field in its header that peltool prints. Currently, it just prints the hex version, like "0x1000".
There are JSON
PEL: Print component names in peltool
Every PEL section has a 2 byte component ID field in its header that peltool prints. Currently, it just prints the hex version, like "0x1000".
There are JSON files in the flash already that contain mappings of component IDs to to component names, and this commit starts looking up the component names from those files and using those in the peltool output.
An example of a file is: /usr/share/phosphor-logging/pels/O_component_ids.json: { "1000": "bmc common function", "2000": "bmc error logging", ... }
Where the 'O' in the filename is the creator ID field of the PEL. There is also a file for hostboot, which is B_component_ids.json.
Also, for PELs with a PHYP creator ID, just convert the ID to two characters, like 0x4552 - > "ER" as that is what they are.
peltool output examples: "Created by": "bmc error logging", "Created by": "hostboot: errl", "Created by": "IO",
This matches what is already done by the python peltool.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id616739e1b7ca67c85dc7efa85dc34acf6aca9b5
show more ...
|
#
c92b4eb4 |
| 18-Nov-2019 |
Aatir <aatrapps@gmail.com> |
PEL: private header in JSON
The PELTool application is able to convert sections to JSON. This commit takes care of converting the private header section to JSON.
private header section in JSON samp
PEL: private header in JSON
The PELTool application is able to convert sections to JSON. This commit takes care of converting the private header section to JSON.
private header section in JSON sample:
"Private Header":[ {"Section Version": "1"}, {"Sub-section type": "0"}, {"Log Committed by": "0x1000"}, {"Entry Creation": "10/24/2019 15:50:08"}, {"Entry Commit": "10/24/2019 15:50:08"}, {"Creator ID": "BMC"}, {"Creator Implementation": ""}, {"Platform Log ID": "0x50000004"}, {"Log Entry ID": "0x50000004"} ]
Signed-off-by: Aatir <aatrapps@gmail.com> Change-Id: I8b0d7dc7b70cd2a03f67f7c9a48755803634005d
show more ...
|
#
0688545b |
| 06-Nov-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Make PEL::flatten() const
This includes making the flatten() method const in the PEL section base class and in all of its derived classes.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Chan
PEL: Make PEL::flatten() const
This includes making the flatten() method const in the PEL section base class and in all of its derived classes.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I6be787962c6d7dfa01bdced2f9024564e6ac1b08
show more ...
|
#
97d19b48 |
| 29-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 ...
|
#
289aa477 |
| 20-Sep-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Create PrivateHeader from parameters
Add a constructor to the PrivateHeader class so it can be built from the creator's component ID, the OpenBMC log ID, and the creation timestamp.
This will
PEL: Create PrivateHeader from parameters
Add a constructor to the PrivateHeader class so it can be built from the creator's component ID, the OpenBMC log ID, and the creation timestamp.
This will be used when creating PELs from OpenBMC event logs.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I2d1217b9ff0317195366bee50fa72953fd5341dc
show more ...
|
#
1a94cc38 |
| 11-Sep-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Move PEL section IDs into a header file
These will eventually need to be known to a piece of code that unflattens a PEL into the appropriate section class objects based on the section ID field
PEL: Move PEL section IDs into a header file
These will eventually need to be known to a piece of code that unflattens a PEL into the appropriate section class objects based on the section ID field in the PEL data.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I90b9d4be49b2e3807a620745fa663f94f7f4e62c
show more ...
|
#
cf5a8d0f |
| 05-Sep-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add a flatten() to Section base class
To prepare for supporting PEL sections that can be in any order, which will probably be stored in a std::vector<unique_ptr<Section>>, add a pure virtual fu
PEL: Add a flatten() to Section base class
To prepare for supporting PEL sections that can be in any order, which will probably be stored in a std::vector<unique_ptr<Section>>, add a pure virtual function in the Section base class so this list of sections can just be iterated on and have every object in it flattened.
This flatten() call replaces the operator<<(Stream&, <object>) functions currently in use, so also convert the operator>> to unflatten() to make things consistent.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id68f16fe4197b389a8495c21539a64f9f583c800
show more ...
|
#
d3335dfa |
| 10-Jul-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add PrivateHeader class
The first section in a PEL is always the 'Private Header' section. This commit adds a class to represent that. Right now, the only constructor available is filling in
PEL: Add PrivateHeader class
The first section in a PEL is always the 'Private Header' section. This commit adds a class to represent that. Right now, the only constructor available is filling in its data fields from a PEL stream.
The Section base class, which will be the base class of all PEL sections, is also being introduced here. It contains the section header structure, and a valid flag that derived classes can use.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ia5806017155fe1ef29ea57bf8ab202ff861bde2e
show more ...
|