c6396da5 | 14-Nov-2024 |
Deepa Karthikeyan <deepakala.karthikeyan@ibm.com> |
openpower-pels: Fix libguard initialization
The initialization of libguard was being skipped because the device tree was not set up during the initial phosphor-logging phase. As a result, all guard
openpower-pels: Fix libguard initialization
The initialization of libguard was being skipped because the device tree was not set up during the initial phosphor-logging phase. As a result, all guard library calls failed, preventing the creation of system guards in the event of an error.
To address this, the libguard initialization has been moved to the point where guard creation occurs. Since libguard initialization is lightweight, this change has no noticeable impact on performance.
The fix has been tested, and guards are now correctly created as expected.
``` root@p10bmc:~# putscom pu.c 20018600 8000000000000000 -n0 -p0 -cft pu.c k0:n0:s0:p00:c0 /usr/bin/edbg putscom pu.c 20018600 8000000000000000 -n0 -p0 -cft
root@p10bmc:~# guard -l ID | ERROR | Type | Path 0x00000001 | 0x50000a78 | unrecoverable | physical:sys-0/node-0/proc-0/eq-0/fc-0/core-0 ``` Change-Id: I8c718be4638743dc1015d0f4f327a4f65c9d9c2d Signed-off-by: deepakalak <deepakala.karthikeyan@ibm.com>
show more ...
|
dc35e307 | 05-Nov-2024 |
Patrick Williams <patrick@stwcx.xyz> |
log-create: add CLI utility to create events
Add utility to allow creation of events from the command line and shell scripts. The utility ensures that the correct data arguments are passed, or else
log-create: add CLI utility to create events
Add utility to allow creation of events from the command line and shell scripts. The utility ensures that the correct data arguments are passed, or else fails the creation.
Tested:
``` $ ./builddir/log-create xyz.openbmc_project.Sensor.Threshold.SensorFailure --json '{ "SENSOR_NAME": "Example-Sensor" }' <3> OPENBMC_MESSAGE_ID={"xyz.openbmc_project.Sensor.Threshold.SensorFailure":{"SENSOR_NAME":"Example-Sensor","_SOURCE":{"COLUMN":45,"FILE":"../log_create_main.cpp","FUNCTION":"int generate_event(const std::string&, const nlohmann::json_abi_v3_11_2::json&)","LINE":34,"PID":264326}}} /xyz/openbmc_project/logging/entry/1
$ busctl --user introspect xyz.openbmc_project.Logging /xyz/openbmc_project/logging/entry/1 -l | cat xyz.openbmc_project.Logging.Entry interface - - - .AdditionalData property as 5 "SENSOR_NAME=\"Example-Sensor\"" "_CODE_FILE=../log_create_main.cpp" "_CODE_FUNC=int generate_event(const std::string&, const nlohmann::json_abi_v3_11_2::json&)" "_CODE_LINE=34" "_PID=264326" emits-change writable .Id property u 1 emits-change writable .Message property s "xyz.openbmc_project.Sensor.Threshold.SensorFailure" emits-change writable .Severity property s "xyz.openbmc_project.Logging.Entry.Level.Critical" emits-change writable
$ ./builddir/log-create xyz.openbmc_project.Sensor.Threshold.SensorFailure terminate called after throwing an instance of 'nlohmann::json_abi_v3_11_2::detail::out_of_range' what(): [json.exception.out_of_range.403] key 'SENSOR_NAME' not found
$ ./builddir/log-create xyz.openbmc_project.Invalid.Event.Name Unknown event: xyz.openbmc_project.Invalid.Event.Name ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I357b453f8fecc9d224aa412ad7f3cc6b8c2a4ad8
show more ...
|
9ca4d137 | 31-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
manager: use new Logging.Cleared event
Modify the internal manager support for creating internal events to be able to support the sdbusplus generated events. Transition from the local Logging.Error
manager: use new Logging.Cleared event
Modify the internal manager support for creating internal events to be able to support the sdbusplus generated events. Transition from the local Logging.Error.LogsCleared to the global Logging.Cleared event. Clean up references to the old event.
Tested: ``` $ busctl --user call xyz.openbmc_project.Logging /xyz/openbmc_project/logging xyz.openbmc_project.Collection.DeleteAll DeleteAll $ busctl --user introspect xyz.openbmc_project.Logging /xyz/openbmc_project/logging/entry/1 -l | cat NAME TYPE SIGNATURE RESULT/VALUE FLAGS xyz.openbmc_project.Logging.Entry interface - - - .GetEntry method - h - .AdditionalData property as 5 "NUMBER_OF_LOGS=210" "_CODE_FILE=../log_manager.hpp" "_CODE_FUNC=virtual void phosphor::logging::Manager::deleteAll()" "_CODE_LINE=361" "_PID=3318436" emits-change writable .EventId property s "" emits-change writable .Id property u 1 emits-change writable .Message property s "xyz.openbmc_project.Logging.Cleared" emits-change writable .Resolution property s "" emits-change writable .Resolved property b false emits-change writable .ServiceProviderNotify property s "xyz.openbmc_project.Logging.Entry.Notify.NotSupported" emits-change writable .Severity property s "xyz.openbmc_project.Logging.Entry.Level.Informational" emits-change writable .Timestamp property t 1730408674348 emits-change writable .UpdateTimestamp property t 1730408674348 emits-change writable ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I470f33ae2f5bfae6bf6d6a80ac2c5f028e41da95
show more ...
|
ff35be3e | 15-Oct-2024 |
Deepa Karthikeyan <deepakala.karthikeyan@ibm.com> |
openpower-pels: Create guard using libguard
Replace CreateWithEntityPath D-Bus method with guard library calls for creating guard entries, as CreateWithEntityPath is not an approved dbus method.
Te
openpower-pels: Create guard using libguard
Replace CreateWithEntityPath D-Bus method with guard library calls for creating guard entries, as CreateWithEntityPath is not an approved dbus method.
Tested and the guard record is created with the corresponding PEL id
``` before injecting the error root@p10bmc:~# guard -l No unresolved records to display
After injecting error, the guard is created using the PEL ID root@p10bmc:~# guard -l ID | ERROR | Type | Path 0x00000001 | 0x5000592b | unrecoverable | physical:sys-0/node-0/proc-0/eq-1/fc-0/core-0 root@p10bmc:~# peltool -l { "0x5000592B": { "SRC": "BD13E510", "Message": "Error Signature: 0x20DA0020 0x00000001 0x4D740407", "PLID": "0x5000592B", "CreatorID": "BMC", "Subsystem": "Processor Unit (CPU)", "Commit Time": "10/17/2024 09:54:22", "Sev": "Unrecoverable Error", "CompID": "bmc hw diags" } } ```
Change-Id: I7531bce403206beaa119aea0a621e6b47d28ffd0 Signed-off-by: deepakala-k <deepakala.karthikeyan@ibm.com>
show more ...
|
083c7049 | 14-Oct-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Remove dump status bits from PELs
Stop filling in the bits in the PEL that say there are un-offloaded dumps. These require calls to the dump daemon that can be slow and even time out if the du
PEL: Remove dump status bits from PELs
Stop filling in the bits in the PEL that say there are un-offloaded dumps. These require calls to the dump daemon that can be slow and even time out if the dump daemon is busy.
These aren't parsed out in the peltool output anyway, and there are other ways to determine if there are dumps - someone could just look at the dump D-Bus directly.
This isn't a direct revert of the commit that introduced it because of all the merge conflicts trying to do a revert entailed.
Tested: Can still create PELs.
Change-Id: I975f06ebf3638b39315fdea49393d1941a6f5216 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
13db1d38 | 08-Oct-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add a try/catch to a nlohmann::json::dump()
In some automated system boot testing, there was an occurrence of:
``` An extension's create function threw an exception: [json.exception.type_error
PEL: Add a try/catch to a nlohmann::json::dump()
In some automated system boot testing, there was an occurrence of:
``` An extension's create function threw an exception: [json.exception.type_error.316] invalid UTF-8 byte at index 56: 0x20 ```
This is coming from nlohmann::json::dump(), though I'm not sure how an invalid json object can even be constructed, since it would just fail earlier.
This commit adds a try/catch around the only occurrence of dump() that doesn't already have one, as seemingly this is where that exception has to have come from.
Change-Id: I16095459091bcd1df033846517c3b822e504e6ff Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
ec6f1411 | 17-Oct-2024 |
Eddie James <eajames@linux.ibm.com> |
openpower-pels: Check response header
Using the new PLDM API requires checking the response header for the request and datagram flags, as those indicate that the message isn't really a response.
Ch
openpower-pels: Check response header
Using the new PLDM API requires checking the response header for the request and datagram flags, as those indicate that the message isn't really a response.
Change-Id: I38f8e77bd5defaf611695649bb75d589b2548f17 Signed-off-by: Eddie James <eajames@linux.ibm.com>
show more ...
|
84fbb68f | 30-Sep-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add heartbeat action flag to power-on log
The informational PEL for a chassis power on starting is also considered a heartbeat error log.
Change-Id: I7befa66997bcd17fd310304ae76516cfeea7a3e6 S
PEL: Add heartbeat action flag to power-on log
The informational PEL for a chassis power on starting is also considered a heartbeat error log.
Change-Id: I7befa66997bcd17fd310304ae76516cfeea7a3e6 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
fa2d962b | 30-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
log-manager: enable non-standard path for local tests
Enable the log-manager to be launched with a path other than `/var/phosphor-logging` to allow it to be ran on a development system for test purp
log-manager: enable non-standard path for local tests
Enable the log-manager to be launched with a path other than `/var/phosphor-logging` to allow it to be ran on a development system for test purposes. This required some refactoring throughout as to how paths were handled.
Tested:
After running tests, `/tmp/phosphor-logging` is populated with entries. Launching `./builddir/phosphor-log-manager /tmp/phosphor-logging`, the log-manager will have the entries on dbus:
``` $ busctl --user tree xyz.openbmc_project.Logging └─ /xyz └─ /xyz/openbmc_project └─ /xyz/openbmc_project/logging ├─ /xyz/openbmc_project/logging/entry │ ├─ /xyz/openbmc_project/logging/entry/100 │ ├─ /xyz/openbmc_project/logging/entry/101 │ ├─ /xyz/openbmc_project/logging/entry/102 │ ├─ /xyz/openbmc_project/logging/entry/103 ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I84968edeed0dcf73aaf8bb653060b6d3400b9b7b
show more ...
|
253bfb72 | 30-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
openpower-pels: time: use gmtime for all operations
The test cases in `bcd_time_test.cpp` could fail if the executing host were not in UTC. By default the BMC uses UTC but the development systems a
openpower-pels: time: use gmtime for all operations
The test cases in `bcd_time_test.cpp` could fail if the executing host were not in UTC. By default the BMC uses UTC but the development systems are often in a user's local time zone. Switch all time operations to work off UTC by using gmtime/timegm instead of localtime/mktime.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6230fd014f44123fe917a8e2b39e3b903d3a05e8
show more ...
|
66f3675d | 30-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
openpower-pels: fru-identity: fix crash in setPartNumber
On newer libstdc++ implementations, the following backtrace is observed:
``` #2 0x00007ffff7a578b7 in abort () from /usr/lib64/libc.so.6
openpower-pels: fru-identity: fix crash in setPartNumber
On newer libstdc++ implementations, the following backtrace is observed:
``` #2 0x00007ffff7a578b7 in abort () from /usr/lib64/libc.so.6 #3 0x00007ffff7cda2af in std::__glibcxx_assert_fail(char const*, int, char const*, char const*) () from /usr/lib/gcc/x86_64-pc-linux-gnu/14/libstdc++.so.6 #4 0x000055555556ac6f in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::front (this=0x7fffffffd790) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/basic_string.h:1315 #5 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::front (this=0x7fffffffd790) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/basic_string.h:1315 #6 openpower::pels::src::FRUIdentity::setPartNumber (this=this@entry=0x7fffffffd8a0, partNumber="") at ../extensions/openpower-pels/fru_identity.cpp:216 #7 0x000055555556ae12 in openpower::pels::src::FRUIdentity::FRUIdentity (this=this@entry=0x7fffffffd8a0, partNumber="", ccin="", serialNumber="") at ../extensions/openpower-pels/fru_identity.cpp:102 #8 0x0000555555562aaf in testHWCallout (pn="", ccin="", sn="", expectedPN="", expectedCCIN="", expectedSN="") at ../test/openpower-pels/fru_identity_test.cpp:97 #9 0x00005555555645b0 in FRUIdentityTest_CreateHardwareCalloutTest_Test::TestBody (this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/basic_string.tcc:242 ```
Fix this by avoiding accessing `front()` when the part number string is empty. While there, do a minor performance optimization to avoid unnecessary string copies, by using `erase` instead of `substr`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I71cc195596def6ad0cd982e7294e2467beee987c
show more ...
|
70e8a11b | 24-Sep-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Update check for identifying I2C dev paths
Due to changes in the kernel, I2C device paths changed slightly and so the code that identifies if a device path passed in for a callout is for an I2C
PEL: Update check for identifying I2C dev paths
Due to changes in the kernel, I2C device paths changed slightly and so the code that identifies if a device path passed in for a callout is for an I2C device needs an update.
An example of a new canonical device path is: ``` /sys/devices/platform/ahb/1e780000.apb/1e780000.apb:bus@1e78a000/1e78a200.i2c/i2c-3/3-006d ```
Tested: Creating a PEL with CALLOUT_DEVICE_PATH=/sys/bus/i2c/devices/3-006d on an IBM Everest system generates a proper callout, as shown in this captured PEL debug UserData section:
``` "I2C: bus: 3 address: 109 dest: /sys-0/node-0/bellavista-0/Power-riser-conn-0/Fansipan-0/power-supply-conn-2/power-supply-0/power-supply-blackbox-0" ```
Change-Id: I4efb9135982f417560172df99dfe36f98e3a9696 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
b0ff05ab | 24-Sep-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Increase PLDM timeout
The current time the code waits for a PLDM response from PHYP before it considers it a timeout is ten seconds, after which it will retry sending the command again. Howeve
PEL: Increase PLDM timeout
The current time the code waits for a PLDM response from PHYP before it considers it a timeout is ten seconds, after which it will retry sending the command again. However, PHYP has two twenty second waits on its responses to the BMC PLDM daemon so ten seconds isn't long enough to know something failed.
There has been a case seen where it took the BMC PLDM code 12 seconds to handle the response from PHYP, in which case the PEL daemon thought it failed and re-sent a new file available command to PHYP for a PEL it already knew about.
The timeout value is being increased to 45 seconds, which is the 40 seconds for the PHYP wait plus some wiggle room.
Even if PHYP does time out trying to respond it does does already know about the PEL, so if we resend it will already have it, but I don't really see any alternatives, as the code can't be sure PHYP got it if it never responded.
Tested: PELs are sent to PHYP. It's rare to hit a case where there are timeouts, so putting this in place anyway.
Change-Id: I3f4ce422f292d8d54c36bd9cf051f776b837b983 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
9972716f | 23-Sep-2024 |
harsh-agarwal1 <harsh.agarwal@ibm.com> |
PEL: Updated PEL spec error action flag bit#10
- This will help to indicate which SRCs need to be collected and regularly called home. - Defined new entry in message registry schema action flags fie
PEL: Updated PEL spec error action flag bit#10
- This will help to indicate which SRCs need to be collected and regularly called home. - Defined new entry in message registry schema action flags field - Set this action flag in the registry for the daily clock PEL and the voltage regulator N+1 phase fault PEL
Tested: Sample output: ```bash $ peltool -af ... "Action Flags": [ "Report Externally", "Heartbeat Call Home Event" ... "Action Flags": [ "Report Externally", "HMC Call Home", "Heartbeat Call Home Event" ... $ peltool -afx ... 00000030 55 48 00 18 01 00 20 00 60 03 00 01 00 00 00 00 | 00000040 00 00 20 20 00 00 00 00 50 53 00 50 01 01 27 00 | ... 00000030 55 48 00 18 01 00 20 00 58 03 00 01 00 00 00 00 | 00000040 00 00 28 20 00 00 00 00 50 53 00 50 01 01 30 00 | ...
``` Change-Id: Ifa181374692013dfadc0dd744f6db61baad3d42e Signed-off-by: Harsh Agarwal <Harsh.Agarwal@ibm.com>
show more ...
|
d763db35 | 03-Sep-2024 |
harsh-agarwal1 <harsh.agarwal@ibm.com> |
PEL: Prevent deletion if it's associated with HWIsolation
- This ensures that PELs linked to HWIsolation records are protected from accidental deletion. - Shows error message of "Call failed: The se
PEL: Prevent deletion if it's associated with HWIsolation
- This ensures that PELs linked to HWIsolation records are protected from accidental deletion. - Shows error message of "Call failed: The service is temporarily unavailable.", when attempting to delete such a PEL individually. - If trying to Delete all, will skip such PELs without showing any message.
Tested: Sample output: ```bash $ busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/ logging xyz.openbmc_project.Collection.DeleteAll DeleteAll
$ busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/ logging/entry/2 xyz.openbmc_project.Object.Delete Delete Call failed: The service is temporarily unavailable.
``` Change-Id: I2d28de91bbb0fbc2a991e3d5e5631814d41fe044 Signed-off-by: Harsh Agarwal <Harsh.Agarwal@ibm.com>
show more ...
|
ea001074 | 19-Sep-2024 |
Arya K Padman <aryakpadman@gmail.com> |
PEL: DRAM Fix: Reset JobRemoved signal watcher
It is observed in journal traces that that the phosphor-log-manager is receiving error trace as 'Failed to unsubscribe from JobRemoved systemd signal'
PEL: DRAM Fix: Reset JobRemoved signal watcher
It is observed in journal traces that that the phosphor-log-manager is receiving error trace as 'Failed to unsubscribe from JobRemoved systemd signal' during host factory reset
Root cause: - It is observed that the systemd service `openpower-update-bios-attr-table.service` is starting again during host factory reset which is responsible for the PNOR symlink creation and update. - In the existing code `JobRemoved` signal is subscribed for `openpower-update-bios-attr-table.service` - In systemd signal , if at least one client is subscribed for a signal, most of the signals will sent out to the clients even if the current client unsubscribed. - Since many other service including phosphor-state-manager is also subscribed for the signal and is not unsubscribed. Hence Phosphor-logging is getting `JobRemoved` again even if it is unsubscribed after PHAL initialization.
Fix proposed: - The issue is fixed by resetting the JobRemoved signal watcher
Other changes as part of this commit: - Removing an unwanted comma in 2 lg2 traces in the file `data_interface.cpp` - The PHAL initialization point is changed so that `Unsubscribe` method will invoke after PHAL initialization.
Tested:
Tested the approach and verified that no further JobRemoved signals are receiving by monitoring journal traces.
``` systemd[1]: Starting Update BIOS attr table with host firmware well-known names... systemd[1]: openpower-update-bios-attr-table.service: Deactivated successfully. systemd[1]: Finished Update BIOS attr table with host firmware well-known names. pldmd[1104]: BIOS attribute 'hb_lid_ids' updated to value systemd[1]: Starting OpenPOWER Host HardwareIsolation... systemd[1]: Started OpenPOWER Host HardwareIsolation. ```
Change-Id: Ib273397c7303a0473ca12e3879d154a39138de02 Signed-off-by: Arya K Padman <aryakpadman@gmail.com>
show more ...
|
0b758fb0 | 06-Sep-2024 |
Arya K Padman <aryakpadman@gmail.com> |
PEL: DRAM: Fixing the missed comma in lg2 trace
Root Cause: In commit afba316, two traces in the lg2 logging missed a comma, leading to a compilation error.
Solution: The lg2 traces have been corre
PEL: DRAM: Fixing the missed comma in lg2 trace
Root Cause: In commit afba316, two traces in the lg2 logging missed a comma, leading to a compilation error.
Solution: The lg2 traces have been corrected by adding the missing comma. Additionally, the systemd signal subscription and unsubscription logic has been moved outside of the PEL_ENABLE_PHAL flag, as it is not dependent on PHAL.
Change-Id: Ib8b17af95be356c6649c7804e4e46704498f3f3d Signed-off-by: Arya K Padman <aryakpadman@gmail.com>
show more ...
|
ced8ed77 | 02-Sep-2024 |
Arya K Padman <aryakpadman@gmail.com> |
PEL: DRAM: Remove the Debug Section for PHAL Errors
In commit 8ae618, when the system attempts to call out FRUs, PEL is designed to include DRAM manufacturer details if the FRU being identified is a
PEL: DRAM: Remove the Debug Section for PHAL Errors
In commit 8ae618, when the system attempts to call out FRUs, PEL is designed to include DRAM manufacturer details if the FRU being identified is a DIMM. The FRU type is determined using the PHAL API "getFRUType", and if this fails, the corresponding PHAL error message is added to the PEL debug section to aid in debugging.
However, there are cases where some FRUs, such as Planar, Fan, Power Supply, etc., are not represented in the PHAL device tree. The PHAL device tree primarily serves CEC (Central Electronic Complex) hardware, which is crucial for booting the host processor. For these unmodeled FRUs, PHAL returns 'Location code not found,' which is then recorded in the PEL debug section.
Since these failures are expected, the PHAL error messages should be removed from the PEL debug section to prevent confusion, as errors for non-modeled FRUs in the PHAL device tree are expected.
The downside is that this removal could reduce debuggability for real errors, such as a valid location code not being found or the need for updates to the PHAL predefined FRU list. The expectation is that the PHAL API "getFRUType" should have sufficient trace information for debugging such issues. The phosphor-logging is not designed to capture traces for PHAL error scenarios because of the limitations with the PHAL device tree mentioned above.
Signed-off-by: Arya K Padman <aryakpadman@gmail.com> Change-Id: I9a0011252667173f9e5f6aecbab2e7cd76174afa
show more ...
|
afba316c | 30-Aug-2024 |
Arya K Padman <aryakpadman@gmail.com> |
PEL: Init PHAL once the PNOR partition symlink is setup
As part of commit 8ae618, PHAL initialization was moved to pelstartup to avoid multiple initialization calls. However, this change caused an i
PEL: Init PHAL once the PNOR partition symlink is setup
As part of commit 8ae618, PHAL initialization was moved to pelstartup to avoid multiple initialization calls. However, this change caused an issue where the phosphor-logging service was pointing to the default PHAL device tree, which lacks necessary attributes.
Root cause: At the time the phosphor-logging service starts, the PNOR partition symlink (which should point to the correct PHAL device tree) is not yet created. This absence causes phosphor-logging service map to the default device tree. The underlying issue is that the openpower-update-bios-attr-table service, responsible for creating all symlinks, starts after phosphor-logging due to a dependency on phosphor-logging from a dependent service of openpower-update-bios-attr-table service..
Proposed solution: The phosphor-logging service will now subscribe to the 'JobRemoved' DBUS signal from systemd service after the successful execution of openpower--update-bios-attr-table service. Upon receiving this signal, phosphor-logging will init PHAL, ensuring that PHAL initialization occurs only after all symlinks have been set up.
Tested :
Before fix, journal traces has the error from dtb file open as below: ``` p10b systemd[1]: Starting OpenPower Software Update Manager... p10b systemd[1]: Starting Phosphor Log Manager... p10b systemd[1]: Started OpenPower Software Update Manager. p10b systemd[1]: Started Phosphor Log Manager. p10b phosphor-log-manager[409]: Unable to open dtb file '/var/lib/phosphor-software-manager/pnor/rw/DEVTREE' p10b systemd[1]: Starting Update BIOS attr table with host firmware well-known names... ```
After fix, system is starting able to start the services without dtb file open error. ``` p10b systemd[1]: Starting Phosphor Log Manager... p10b phosphor-log-manager[408]: The send PELs to host setting changed to False p10b systemd[1]: Started Phosphor Log Manager. p10b systemd[1]: Starting Set POWER host firmware well-known names... p10b systemd[1]: openpower-process-host-firmware.service: Deactivated successfully. p10b systemd[1]: Finished Set POWER host firmware well-known names. p10b systemd[1]: Starting Update BIOS attr table with host firmware well-known names... p10b systemd[1]: openpower-update-bios-attr-table.service: Deactivated successfully. p10b systemd[1]: Finished Update BIOS attr table with host firmware well-known names. ```
Change-Id: I96b06581ebbc9afd6f8020f3540ed71bf06e5c19 Signed-off-by: Arya K Padman <aryakpadman@gmail.com>
show more ...
|
d8ae618a | 19-Jul-2024 |
Arya K Padman <aryakpadman@gmail.com> |
PEL: Add the DRAM manufacturer info of DIMM callout in UD section
Add the called out DIMMs DRAM manufacturer info to the user data section of the PEL to assist the service engineers in identifying t
PEL: Add the DRAM manufacturer info of DIMM callout in UD section
Add the called out DIMMs DRAM manufacturer info to the user data section of the PEL to assist the service engineers in identifying the manufacturer of the faulty DRAMs packaged within the DIMM module directly from the logs, aiding in quick resolution.
The changes also moves the pdbg target and libekb initialization to the PEL startup which avoids the need of multiple initialization as the existing design.
When a PEL calls out a DIMM FRU, the DRAM manufacturer ID and the expanded location code of those DIMMs are added to the SysInfo user data section of the generated PEL in JSON format under the key 'DIMMs Additional Info'.
In case of any errors occur during the collection or processing of the manufacturer data, the error messages will be logged in the 'PEL Internal Debug Data' section as a JSON array under the key 'DIMMs Info Fetch Error' as a separate user data section.
Tested :
Below is a portion of PEL(callout section and User Data section are shown) which callout the DIMM P0-C32.
``` "Hex Word 9": "00000000", "Callout Section": { "Callout Count": "1", "Callouts": [{ "FRU Type": "Normal Hardware FRU", "Priority": "Mandatory, replace all with this type as a unit", "Location Code": "UXXX.YYY.WWW004A-P0-C32", "Part Number": "7777777", "CCIN": "1234", "Serial Number": "YYYYYY" }] } ``` "User Data": { "Section Version": "1", "Sub-section type": "1", "Created by": "bmc error logging", "BMCLoad": "0.65 0.69 0.64", "BMCState": "Ready", "BMCUptime": "0y 0d 0h 17m 43s", "BootState": "Unspecified", "ChassisState": "Off", "DIMMs Additional Info": [ { "DRAM Manufacturer ID": [ "0x88", "0xAA" ] "Location Code": "UXXX.YYY.WWW004A-P0-C32", } ], "FW Version ID": "fw1060.20-4-1060.2432.20240729a (NL1060_068)", "HostState": "Off", "System IM": "50001001" } ```
Change-Id: I2ff81c66e63b99e8e84378ec78f586fb9b6322d7 Signed-off-by: Arya K Padman <aryakpadman@gmail.com>
show more ...
|
075c7923 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I21d2ca8065f24fd73509229c517f5caf48934b60 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
80b80acd | 01-Aug-2024 |
Riya Dixit <riyadixitagra@gmail.com> |
PEL: Adding BMC PEL for PLDM error
This commit adds BMC pels for PLDM error so as to report resource dump failure.
Change-Id: I1f4f742900f69dbd38c8dbbdba67549c7862a3b2 Signed-off-by: Riya Dixit <ri
PEL: Adding BMC PEL for PLDM error
This commit adds BMC pels for PLDM error so as to report resource dump failure.
Change-Id: I1f4f742900f69dbd38c8dbbdba67549c7862a3b2 Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>
show more ...
|
0d9895ba | 24-Jun-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Update msg reg name for perf loss threshold
The commit openbmc/phosphor-fan-presence@99914e5 changed the Message property of the performance loss threshold alert from TemperaturePerfLossHigh an
PEL: Update msg reg name for perf loss threshold
The commit openbmc/phosphor-fan-presence@99914e5 changed the Message property of the performance loss threshold alert from TemperaturePerfLossHigh and TemperaturePerfLossHighClear to TemperaturePerformanceLossHigh and TemperaturePerformanceLossHighClear.
Update the value in the PEL message registry to match.
Change-Id: If85160782092f6da0fe846e545142e49e5cac9f3 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
0387a74e | 01-Jul-2024 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
openpower-pels: Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs. - Updated the receive function to pass pldm_transport as
openpower-pels: Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs. - Updated the receive function to pass pldm_transport as a parameter. - Modified the function signatures and their calls to ensure the pldm_transport parameter is properly passed.
This change migrates the application off of the deprecated "requester" APIs in libpldm.
We don't currently have the infrastructure in place to get the correct TIDs, so to keep everything working as before use the EID as the TID in the EID-to-TID mapping.
Change-Id: Ib143dc122637ef7e390fceb64f1f94c65172ae39 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
show more ...
|
47983488 | 02-Jul-2024 |
Shawn McCarney <shawnmm@us.ibm.com> |
PEL: Remove deprecated power sequencer callouts
Remove callouts for GPIO and voltage rail names that have been deprecated by the phosphor-power-sequencer application.
Tested: * Ran message registry
PEL: Remove deprecated power sequencer callouts
Remove callouts for GPIO and voltage rail names that have been deprecated by the phosphor-power-sequencer application.
Tested: * Ran message registry validation tool * Verified error logged with removed GPIO name has no callouts * Verified error logged with removed rail name has no callouts * Verified error logged with valid rail name has correct callouts
Change-Id: I0c7c91aaea87d235952509a713c92011149114ed Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|