085efbb1 | 18-Jul-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Track PEL creation time for debug
Track how long it takes to create the PEL portion of an event by saving it as journal metadata. It's only viewable with journalctl options like '-o verbose'.
PEL: Track PEL creation time for debug
Track how long it takes to create the PEL portion of an event by saving it as journal metadata. It's only viewable with journalctl options like '-o verbose'. This can be used for debug and to help when trying to improve PEL creation performance.
Also move down the trace where this is logged until after the PEL D-Bus interfaces are updated.
Tested:
Can see the new field:
MESSAGE=Created PEL 0x50000048 (BMC ID 72) with SRC BD55400C ID=0x50000048 BMCID=72 PEL_CREATE_DURATION=181
Change-Id: I165901f49a229eacf66be76d79972240a41aa155 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
9422867c | 09-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
meson: use non-deprecated systemd packageconfig
Systemd's packageconfig file has both `systemdsystemunitdir` and `systemd_system_unit_dir` defined. The non-underscore one appears to be a deprecated
meson: use non-deprecated systemd packageconfig
Systemd's packageconfig file has both `systemdsystemunitdir` and `systemd_system_unit_dir` defined. The non-underscore one appears to be a deprecated alias[1]. Move to the non-deprecated / underscore-separated variant.
[1]: https://github.com/systemd/systemd/commit/4908de44b0a0409f84a7cdc5641b114d6ce8ba03
Change-Id: I65298cdb7abbc3297f3494285482e1c4c87ae47a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
a282ca61 | 07-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
log-resolve: reduce unnecessary dependencies
Clean up the executable and meson to reduce unnecessary dependencies on JSON and sdbusplus::async.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> C
log-resolve: reduce unnecessary dependencies
Clean up the executable and meson to reduce unnecessary dependencies on JSON and sdbusplus::async.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia3b1a27108b3e80c4dfac562e00d2d961a28994b
show more ...
|
6bc84bbd | 26-Jun-2025 |
Adriana Kobylak <anoo@us.ibm.com> |
PEL: registry: Add message for factory reset requested
Add a new informational log message for when a BMC factory reset is requested.
Change-Id: Id4d8ea96682f4e534a3c177daf2c3fda67ec5898 Signed-off
PEL: registry: Add message for factory reset requested
Add a new informational log message for when a BMC factory reset is requested.
Change-Id: Id4d8ea96682f4e534a3c177daf2c3fda67ec5898 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
show more ...
|
7bb45f42 | 30-Jun-2025 |
Adriana Kobylak <anoo@us.ibm.com> |
PEL: README: Fix linting
Change-Id: Id9656444a88b3b8a5339ecb9562ba4314ed45f73 Signed-off-by: Adriana Kobylak <anoo@us.ibm.com> |
63bc1675 | 10-Jun-2025 |
Rekha Aparna <vrekhaaparna@ibm.com> |
PEL: Add VPD parsing error
VPD parsing can be failed for both data and ECC errors for different records for a single file. So new generic error is introduced for exception occurred during VPD parsin
PEL: Add VPD parsing error
VPD parsing can be failed for both data and ECC errors for different records for a single file. So new generic error is introduced for exception occurred during VPD parsing.
Change-Id: I4e3bd3814856313d084035c735f37e14e290cd2d Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>
show more ...
|
9b016909 | 10-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
markdownlint: minor fixes
Make minor fixes suggested by markdownlint.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: If0da7a57283aafc4d387a15ded83384302af8e90 |
bf27da63 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Remove Section::validate() virtual func
There is no need for the validate() function that every PEL section uses to be virtual, because it is always called directly by the class it's defined in
PEL: Remove Section::validate() virtual func
There is no need for the validate() function that every PEL section uses to be virtual, because it is always called directly by the class it's defined in.
Also, cppcheck was complaining that constructors, where validate() is called, can't call virtual functions anyway.
Tested: Unit tests pass
Change-Id: I7190a5299baa85f7956963e21189da0f4c62b68a Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
8a09b982 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Removed unused includes
The clangd LSP indicates when includes aren't used directly.
Tested: Unit tests pass.
Change-Id: I8290fe59abd1cef4fada27aeb5adb2c45c289abb Signed-off-by: Matt Spinler
PEL: Removed unused includes
The clangd LSP indicates when includes aren't used directly.
Tested: Unit tests pass.
Change-Id: I8290fe59abd1cef4fada27aeb5adb2c45c289abb Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
91f6d3a5 | 22-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Check for Py_None from parser calls
Explicitly check if the UserData or SRC python plugin parsers return a python None object and just return immediately. In the UserData case this results in
PEL: Check for Py_None from parser calls
Explicitly check if the UserData or SRC python plugin parsers return a python None object and just return immediately. In the UserData case this results in a hex dump, and in the SRC case it just won't print the SRC description.
Otherwise, peltool will crash when it tries to extract a string from the result.
Tested: peltool no longer crashes.
Change-Id: I2cb87a6071ecc2cbeb9df055f13039ad31fc6384 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
dfe021c0 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
Removed unused includes
The clangd LSP indicates when includes aren't used directly.
Tested: Unit tests pass
Change-Id: I0306be1439317ff40981a8bf221ea7d8a652e281 Signed-off-by: Matt Spinler <spinl
Removed unused includes
The clangd LSP indicates when includes aren't used directly.
Tested: Unit tests pass
Change-Id: I0306be1439317ff40981a8bf221ea7d8a652e281 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
e2eb14ae | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Rename Section::flattenedSize
cppcheck was complaining about how flattenedSize() was in both the base class Section and all of its derived classes even though it wasn't virtual.
Change-Id: I5c
PEL: Rename Section::flattenedSize
cppcheck was complaining about how flattenedSize() was in both the base class Section and all of its derived classes even though it wasn't virtual.
Change-Id: I5cce8c6534e696f30c2c6141a50665d11a13eff0 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
362f469c | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add 'override' to derived destructors
cppcheck complains that it is overriding a virtual function in the base class but isn't marked with override.
Change-Id: I4e03f0524987427e3742672d27b86c71
PEL: Add 'override' to derived destructors
cppcheck complains that it is overriding a virtual function in the base class but isn't marked with override.
Change-Id: I4e03f0524987427e3742672d27b86c71943fab5b Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
d7654dcd | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Fixup string '+' statement
clang-tidy didn't like the string = char + char
Change-Id: I9d2fd6ee9679b395d729e3507f471d112949918d Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
cc06b7f1 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Remove unused lambda argument
Change-Id: I250cec8e5c16fff59648df794334ba6ee27a553c Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
f904caf4 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Remove unnecessary std::move calls
Change-Id: Ic5a26cfa7c2cb1f993ea4e8ccb30c4a093a75f42 Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
6f07df3e | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Change NULL to nullptr
Change-Id: I3b33aca08785ceb90c15c5155c9bb13b04e95d4e Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
59b08f18 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Delete unused copy/move ctor/operator
Explicitly delete the copy assignment, move assignment, and move constructors on the classes where they are unused.
Change-Id: I73298debb4e3e894af5
clang-tidy: Delete unused copy/move ctor/operator
Explicitly delete the copy assignment, move assignment, and move constructors on the classes where they are unused.
Change-Id: I73298debb4e3e894af5a02006b87d26b70f4535d Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
f87b4bd1 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Removed unused constants
Change-Id: Ia681be696065686ee0e1f969f9e4221c284c611c Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
76fe0d1f | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
tools: add gen-eventfilter.py
Generate event filtering code for lg2::commit from an input json file, so that system integrators can create default filtering rules to omit undesired events and errors
tools: add gen-eventfilter.py
Generate event filtering code for lg2::commit from an input json file, so that system integrators can create default filtering rules to omit undesired events and errors from their systems.
Tested:
Used `log-create` to create an event and observed it. Modified the default event filter as follows and saw log was not created.
``` @@ -3,6 +3,9 @@ "default": "allowed" }, "errors": { - "default": "allowed" + "default": "allowed", + "ids": [ + "xyz.openbmc_project.State.SMC.SMCFailed" + ] } } ```
``` $ ./builddir/log-create xyz.openbmc_project.State.SMC.SMCFailed --json '{ "IDENTIFIER": "/xyz/openbmc_project/inventory/SomeSMC", "FAILURE_TYPE": "Timeout for the SMC" }' ```
Change-Id: Ib6041481075758b994bb27a816dbf5e9f26c2841 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
b6035910 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
clang-tidy: Rename mako files
Rename the mako template files to end in .mako so that clang-tidy doesn't run on them.
Tested: elog-errors.hpp is still generated callouts-gen.hpp is still generated
clang-tidy: Rename mako files
Rename the mako template files to end in .mako so that clang-tidy doesn't run on them.
Tested: elog-errors.hpp is still generated callouts-gen.hpp is still generated
Change-Id: I9af4b9c31db9743b5af81d801f98901431bc7e2f Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
a9eb99d6 | 09-May-2025 |
Matt Spinler <spinler@us.ibm.com> |
README.md fixes
Change-Id: I85e463fdde43c499a46d98a28a83888961732f73 Signed-off-by: Matt Spinler <spinler@us.ibm.com> |
931cafee | 22-Apr-2025 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Fixes for State.Boot.Raw Value updates
The first entry in the std::tuple of the Value property, which is used to hold the 8 character SRC refcode, changed from a uint64_t to a std::vector<uint8
PEL: Fixes for State.Boot.Raw Value updates
The first entry in the std::tuple of the Value property, which is used to hold the 8 character SRC refcode, changed from a uint64_t to a std::vector<uint8_t>. Make the necessary updates.
Tested:
Create a PEL with a severity value of 0x51 = critical system termination. It has the refcode sent to this Value property:
``` $ busctl get-property xyz.openbmc_project.State.Boot.Raw \ /xyz/openbmc_project/state/boot/raw0 \ xyz.openbmc_project.State.Boot.Raw Value (ayay) 8 49 49 48 48 50 54 48 50 ^^ this is the correct 8 byte 11002602 refcode
and the rest is the 72 byte progress SRC: 72 2 9 0 9 0 0 0 188 0 0 0 85 46 45 0 16 0 0 0 0 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 49 48 48 50 54 48 50 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ```
And now create another PEL, and this progress SRC should be in the hex words: ``` "Reference Code": "BD8D3601", "Hex Word 2": "00000055", "Hex Word 3": "2E2D0010", "Hex Word 4": "11002602", <------------------- "Hex Word 5": "00000000", "Hex Word 6": "00000000", "Hex Word 7": "00000000", "Hex Word 8": "00000000", "Hex Word 9": "00000000", ```
Change-Id: I8050eaf3e372b724fa41dc358633d4b3d29fc782 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
3d079c6b | 26-Mar-2025 |
Matt Spinler <spinler@us.ibm.com> |
Change AdditionalData back to a vector in cereal
There is a case now where a system can create an event log with cereal version 6 which will save the AdditionalData property as a map, but then it ca
Change AdditionalData back to a vector in cereal
There is a case now where a system can create an event log with cereal version 6 which will save the AdditionalData property as a map, but then it can be backleveled to an image with version 5. That code has no knowledge of the map format, so cereal will throw an exception when it attempts to restore the entry.
This will cause the daemon to go into an infinite crash/restart loop, as it will always restart on failure.
A previous fix went in to catch any exceptions that cereal generates and then throw away the log, but that won't help systems without that code.
To fix this, go back to saving AdditionalData as a vector, and then on the load convert it to map after reading the file. It still knows that version 6 was saved as a map, so it can handle that appropriately.
With this fix, older code can load the cereal files created by the new code.
Tested: Created event log with version 7, copied the file to a system that only understands version 5 and it can be restored properly.
Tested that version 6 can still be understood with the new code.
Change-Id: Ia49d8d2ba52398c4df5a15aa89df047b15047ac1 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
a92feeb0 | 28-Mar-2025 |
Sunny Srivastava <sunnsr25@in.ibm.com> |
PEL: Add firmware error for VPD
The commit adds new error to call out procedure in case there is any std::runtime exception in the VPD Manager.
Change-Id: Id2a567fb7bc4cc2335e08b4695a5ff5e405c5aa2
PEL: Add firmware error for VPD
The commit adds new error to call out procedure in case there is any std::runtime exception in the VPD Manager.
Change-Id: Id2a567fb7bc4cc2335e08b4695a5ff5e405c5aa2 Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
show more ...
|