History log of /openbmc/phosphor-logging/extensions/ (Results 1 – 25 of 671)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c6396da514-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 ...

dc35e30705-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 ...

9ca4d13731-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 ...

ff35be3e15-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 ...

083c704914-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 ...

13db1d3808-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 ...

ec6f141117-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 ...

84fbb68f30-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 ...

fa2d962b30-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 ...

253bfb7230-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 ...

66f3675d30-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 ...

70e8a11b24-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 ...

b0ff05ab24-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 ...

9972716f23-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 ...

d763db3503-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 ...

ea00107419-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 ...

0b758fb006-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 ...

ced8ed7702-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 ...

afba316c30-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 ...

d8ae618a19-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 ...

075c792316-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 ...


/openbmc/phosphor-logging/.clang-format
/openbmc/phosphor-logging/elog_block.hpp
/openbmc/phosphor-logging/elog_entry.hpp
/openbmc/phosphor-logging/elog_meta.cpp
/openbmc/phosphor-logging/elog_meta.hpp
/openbmc/phosphor-logging/elog_serialize.hpp
openpower-pels/bcd_time.hpp
openpower-pels/callout.cpp
openpower-pels/callouts.cpp
openpower-pels/data_interface.cpp
openpower-pels/data_interface.hpp
openpower-pels/dbus_watcher.hpp
openpower-pels/device_callouts.cpp
openpower-pels/device_callouts.hpp
openpower-pels/extended_user_data.cpp
openpower-pels/fapi_data_process.cpp
openpower-pels/host_notifier.cpp
openpower-pels/journal.cpp
openpower-pels/journal.hpp
openpower-pels/json_utils.cpp
openpower-pels/manager.cpp
openpower-pels/manager.hpp
openpower-pels/mru.cpp
openpower-pels/pel.cpp
openpower-pels/pel.hpp
openpower-pels/pel_entry.hpp
openpower-pels/pel_values.cpp
openpower-pels/pldm_interface.cpp
openpower-pels/registry.cpp
openpower-pels/registry.hpp
openpower-pels/repository.cpp
openpower-pels/repository.hpp
openpower-pels/section_header.hpp
openpower-pels/service_indicators.cpp
openpower-pels/severity.cpp
openpower-pels/severity.hpp
openpower-pels/src.cpp
openpower-pels/src.hpp
openpower-pels/temporary_file.cpp
openpower-pels/tools/peltool.cpp
openpower-pels/user_data.cpp
openpower-pels/user_data_json.cpp
openpower-pels/user_data_json.hpp
openpower-pels/user_header.cpp
/openbmc/phosphor-logging/lib/include/phosphor-logging/lg2/conversion.hpp
/openbmc/phosphor-logging/lib/lg2_logger.cpp
/openbmc/phosphor-logging/log_manager.cpp
/openbmc/phosphor-logging/log_manager.hpp
/openbmc/phosphor-logging/logging_test.cpp
/openbmc/phosphor-logging/phosphor-rsyslog-config/server-conf.cpp
/openbmc/phosphor-logging/test/elog_errorwrap_test.hpp
/openbmc/phosphor-logging/test/openpower-pels/device_callouts_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/failing_mtms_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/host_notifier_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/mocks.hpp
/openbmc/phosphor-logging/test/openpower-pels/pel_manager_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/pel_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/registry_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/src_callout_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/src_test.cpp
/openbmc/phosphor-logging/test/openpower-pels/user_data_test.cpp
80b80acd01-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 ...

0d9895ba24-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 ...

0387a74e01-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 ...

4798348802-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 ...

12345678910>>...27