History log of /openbmc/pldm/libpldmresponder/bios_config.cpp (Results 1 – 25 of 40)
Revision Date Author Comments
# 89644441 31-Mar-2024 Riya Dixit <riyadixitagra@gmail.com>

libpldmresponder: Improving Logs (lg2)

This commit corrects the severity level of logs and also formats the
message string, fixing the ill-defined message string of the logs as
mentioned in the anti

libpldmresponder: Improving Logs (lg2)

This commit corrects the severity level of logs and also formats the
message string, fixing the ill-defined message string of the logs as
mentioned in the anti-pattern document [1]. Additionally, based on the
requirement this commit adds more debug information to logs.

[1]: https://github.com/openbmc/docs/blob/master/anti-patterns.md#ill-defined-data-structuring-in-lg2-message-strings

Change-Id: I7dc5c308a8cd76573995e07d01d1a6037bca31ba
Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>

show more ...


# 72c06541 17-Apr-2024 Manojkiran Eda <manojkiran.eda@gmail.com>

fix inconsistent spacing in BIOS logs

This commit fixes odd looking inconsistent spacing
while tracing the BIOS attribute updates.

Change-Id: Ib9dba3ca28e86ac64d67fe2b7ef5e3f66ce971b5
Signed-off-by

fix inconsistent spacing in BIOS logs

This commit fixes odd looking inconsistent spacing
while tracing the BIOS attribute updates.

Change-Id: Ib9dba3ca28e86ac64d67fe2b7ef5e3f66ce971b5
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>

show more ...


# 46f352ed 17-Mar-2024 Archana Kakani <archana.kakani@ibm.com>

pldm: Meson option for system specific bios attributes

PLDM users who want to use bios attributes based on the system type
can enable this meson option.
With disabled option default bios json files

pldm: Meson option for system specific bios attributes

PLDM users who want to use bios attributes based on the system type
can enable this meson option.
With disabled option default bios json files are picked to build
bios attribute tables.

Added meson option "system-specific-bios-json" to add the support
for system specific bios attributes.
Below is the pre-requisite to support system specific bios
attributes:
1. Entity Manager service is active
2. Entity Manager should have Decorator.Compatible interface
and system type in Names property under this interface
3. BIOS Attribute json files are added into the folder(Named on
the System Type property value) and should be installed
under /usr/share/pldm/bios/

With disabled "system-specific-bios-json" option default bios
attributes are populated.

Tested:
Poweron system-specific-bios-json enabled/disabled

Change-Id: I95a953cdb12c344d22f487b83040356a1b5fa937
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# 62dd8ff2 12-Feb-2024 Archana Kakani <archana.kakani@ibm.com>

pldm: Build BIOS Table Lazily

Entity manager service hosts the compatible interface and populates the
Names property with the chassis type. It is seen that the Names property
is updated pretty late

pldm: Build BIOS Table Lazily

Entity manager service hosts the compatible interface and populates the
Names property with the chassis type. It is seen that the Names property
is updated pretty late on the way to BMC ready state. And by that time
pldmd is already creating the bios table assuming that the system type
is not detected.

To fix this behavior, rather than creating the bios table early, we need
to wait until we get the system type from the entity manager daemon.

System Type is fetched from Entity Manager Decorator.Compatible
interface [1].

PLDM registers the service name only after building the BIOS tables, to
avoids failures to bios updates from other applications

Tested: Power off/On successfully in Simulator

[1] https://github.com/openbmc/entity-manager/commit/9bac6409d4bd684f058517f41de33ba1d17e5666

Change-Id: I4d431061eaaf8842f6382c2e83807f725653e19b
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# cbe68b2d 23-Feb-2024 Sagar Srinivas <sagar.srinivas@ibm.com>

Remove iostream references

With the adoption of LG2 we do not need iostream
prints to the journal. The library was referred but
never used in these cases.

Signed-off-by: Sagar Srinivas <sagar.srini

Remove iostream references

With the adoption of LG2 we do not need iostream
prints to the journal. The library was referred but
never used in these cases.

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: I11d3f00284e4f16b63cddb8da2fed14d59672ba1

show more ...


# 3c50c82a 30-Jan-2024 Kamalkumar Patel <kamalkumar.patel@ibm.com>

Adding Platform specific PDR support

- Adding platform check to generate pdr based on platform type.

- Currently PDR generation is happening based on default
configuration, so this commit adds su

Adding Platform specific PDR support

- Adding platform check to generate pdr based on platform type.

- Currently PDR generation is happening based on default
configuration, so this commit adds support to generate PDR's based
in the platform type.

Testing:
- Added traces and check from which path the files has been taken for
pdr generation.
- Removed power supply from default path and oem layer and identified
that power supply pdr is not generating.

Change-Id: I6bedf06be7392e02c1ad32af7a552a5a4d6d42c0
Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>

show more ...


# 58cbcaf2 06-Oct-2023 Kamalkumar Patel <kamalkumar.patel@ibm.com>

PLDM:Catching exception precisely and printing it

Correcting catch block in PLDM repo to print all
exception precisely so pldm trace can be more
useful to identify defect easily.

Change-Id: If2e86d

PLDM:Catching exception precisely and printing it

Correcting catch block in PLDM repo to print all
exception precisely so pldm trace can be more
useful to identify defect easily.

Change-Id: If2e86dcb031ddc2e927e7836d7f4359f5b44cdec
Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>

show more ...


# 7927f90c 09-Oct-2023 Sagar Srinivas <sagar.srinivas@ibm.com>

bios: Add support for enum value display names

This commits adds changes to add support for the value
display names for the Enum BIOS attributes.

GET on
/redfish/v1/Registries/BiosAttributeRegistry

bios: Add support for enum value display names

This commits adds changes to add support for the value
display names for the Enum BIOS attributes.

GET on
/redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/
shows list of Attributes under RegistryEntries. Each
attribute corresponds to a knob in BIOS.

If knob in BIOS is of type Enumeration, it will have
'option' with 'text' and 'value'. This text should be
mapped to attribute->Value->ValueDisplayName.

This change only applies to ENUM type of BIOS attributes
and does not make sense for Integer and String attributes.
Hence, we are sending attribute name in place of the
value display name field for these attributes.

The corresponding bios-setting-mgr change which mandated
this change in PLDM is at-

[1] https://github.com/openbmc/bios-settings-mgr/commit/1a448ad88fdaec7e082b4a1c437f7f3c990402cd

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Ib2882c93e81a70332e4897b196ae812b63cf6184

show more ...


# a675662c 20-Oct-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-17 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: Ib8dfa202f1d59add43fc0d55ab2bf388c8e7c877
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 91a092f6 18-Sep-2023 vkaverap@in.ibm.com <vkaverap@in.ibm.com>

PLDM:Use new alias of DBUS_TIMEOUT for bus.call

This commit uses a new global variable for DBUS_TIMEOUT which is included as an input parameter for bus.call dbus calls. The new alias makes the bus.c

PLDM:Use new alias of DBUS_TIMEOUT for bus.call

This commit uses a new global variable for DBUS_TIMEOUT which is included as an input parameter for bus.call dbus calls. The new alias makes the bus.call function shorter and readable.

Change-Id: I336c97bc0631d5370ff3648e41f50e3e283d771b
Signed-off-by: vkaverap@in.ibm.com <vkaverap@in.ibm.com>

show more ...


# 5b71b86f 21-Aug-2023 vkaverap@in.ibm.com <vkaverap@in.ibm.com>

PLDM: 5 sec timeout for dbus calls without reply

This commit adds 5 second dbus timeout value to dbus calls with no reply. Previously a commit was merged that included 5 seconds dbus timeout value f

PLDM: 5 sec timeout for dbus calls without reply

This commit adds 5 second dbus timeout value to dbus calls with no reply. Previously a commit was merged that included 5 seconds dbus timeout value for all dbus call with reply.

This is added to make sure PLDM does not wait for more than 5 seconds when a dbus call is made with or without reply if no response is received from other daemon or host.

The 5 second timeout value is overridden to 10 seconds in meta-ibm layer

Change-Id: Ic20005d903732ac58bb22a657bf1b0c07439d435
Signed-off-by: vkaverap@in.ibm.com <vkaverap@in.ibm.com>

show more ...


# 11ce8d22 28-Jul-2022 Sagar Srinivas <sagar.srinivas@ibm.com>

PLDM: System specific BIOS attributes

This commit adds code to populate BIOS attributes
based on the system type that is the platform.

The BIOS Jsons are installed based on the platform/
system typ

PLDM: System specific BIOS attributes

This commit adds code to populate BIOS attributes
based on the system type that is the platform.

The BIOS Jsons are installed based on the platform/
system type. The system type is populated by entity
manager.

TESTED on hardware across different platform/system type.
On systems where the compatible system interface is not
implemented or entity manager not running, then the BIOS
Jsons with default values are installed.

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: I179dad34537ed0d1fb263584d687a1b8cb64c335

show more ...


# 488f19d0 13-Jun-2023 Andrew Jeffery <andrew@aj.id.au>

pldm: Convert to pldm_bios_table_*_check() APIs

The pldm_bios_table_*_check() APIs wrap around unchecked equivalents
that only sanitize their parameters using assert(). The checks included
in the pl

pldm: Convert to pldm_bios_table_*_check() APIs

The pldm_bios_table_*_check() APIs wrap around unchecked equivalents
that only sanitize their parameters using assert(). The checks included
in the pldm_bios_table_*_check() APIs test the same conditions that
would trigger the assert()s in the unchecked APIs but instead return an
error code on failure.

Use of the unchecked APIs has the potential to blow up the pldmd
process, but also requires that libpldm continue to be built with
`-UNDEBUG` to avoid undefined behaviour (by aborting the process). This
impacts the performance of the library in addition to be a bit of a UX
disaster.

The unchecked APIs are deprecated in libpldm as a step improve its
safety and code generation:

https://gerrit.openbmc.org/c/openbmc/libpldm/+/64179

Tested: Booted the host on a p10bmc system with the patch applied.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I9677a7fa5ca59d04865963b367f3bb55c8676cfb

show more ...


# 9138c209 19-May-2023 vkaverap@in.ibm.com <vkaverap@in.ibm.com>

PLDM : Change the dbus timeout to 5 seconds

Dbus timeout value for every dbus call in PLDM is set to 5 seconds
instead of default 25 seconds so that all dbus calls that expect a
reply exists after 5

PLDM : Change the dbus timeout to 5 seconds

Dbus timeout value for every dbus call in PLDM is set to 5 seconds
instead of default 25 seconds so that all dbus calls that expect a
reply exists after 5 seconds if there is no response from the client.
While BMC is still waiting for a response on any dbus calls it is
possible that host can timeout and return an error.
Another reason is that memory address from where BMC would read data
sent by host may get deallocated after 20 seconds and it is possible
for this to happen even before BMC has read the data. This has lead
to DMA issues.

Tested by adding a sleep for 10 seconds inside main function of
phospher-host-postd and executed get dbus property on snoopd
interface from pldm. PLDM dbus call timed out after 5 seconds.

Change-Id: I1aa1b4ad7fceff2224a3ccc3bcf6abd5705963bc
Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>

show more ...


# a330b2f0 04-May-2023 Andrew Jeffery <andrew@aj.id.au>

pldmd: Migrate instance ID allocation to pldm::InstanceIdDb

This removes use of `pldm::dbus_api::Requester` from around the
code-base. This makes progress towards removing the DBus API entirely
once

pldmd: Migrate instance ID allocation to pldm::InstanceIdDb

This removes use of `pldm::dbus_api::Requester` from around the
code-base. This makes progress towards removing the DBus API entirely
once all its consumers are converted to the libpldm instance ID APIs.

There was never a good reason for the code using the class to have
knowledge that it was related to DBus anyway, so this is, in-effect, a
double clean up improving separation of concerns.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I2d9397cae1b3c8c251c32e36ca520aad9c9b8cf6

show more ...


# 6da4f91b 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: I61b093f75011417cc9c7acf9605200f4fa429bac
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 49cfb138 02-Mar-2023 Riya Dixit <riyadixitagra@gmail.com>

PLDM: Implementing Phosphor-Logging/LG2 logging

This commit adds changes in PLDM for implementing
structured LG2 logging, thereby moving away from
std::cout/cerr practice of logging which are
output

PLDM: Implementing Phosphor-Logging/LG2 logging

This commit adds changes in PLDM for implementing
structured LG2 logging, thereby moving away from
std::cout/cerr practice of logging which are
output streams and not logging mechanism.

PLDM now can make use of lg2 features like accurate
CODE LINE Number and CODE_FUNCTION Name and better
detailing in json object values which can be used in
log tracking.

More detailed logging change:
https://gist.github.com/riyadixitagra/c251685c1ba84248181891f7bc282395

Tested:
Ran a power off, on, cycle, and reset-reload.

Change-Id: I0485035f15f278c3fd172f0581b053c1c37f3a5b
Signed-off-by: Riya Dixit <riyadixitagra@gmail.com>

show more ...


# cac0ebb2 23-Nov-2021 Sagar Srinivas <sagar.srinivas@ibm.com>

pldm: Trace out BIOS attribute change

To remove "setBIOSTable:: updateBaseBIOSTableProperty()"
trace. Instead add trace to indicate which attribute
changed, what is the new value it is changed to an

pldm: Trace out BIOS attribute change

To remove "setBIOSTable:: updateBaseBIOSTableProperty()"
trace. Instead add trace to indicate which attribute
changed, what is the new value it is changed to and
who is it set by.

TESTED:
* Value not set by BMC
pldmtool bios SetBIOSAttributeCurrentValue -a fw_boot_side_current -d Temp
{
"Response": "SUCCESS"
}
BIOS:fw_boot_side_current, updated to value: Temp(42), by BMC: false

* Value set by BMC
busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a{s\(sv\)} 1 "fw_boot_side_current" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" s "Temp"

BIOS:fw_boot_side_current, updated to value: Temp(42), by BMC: true

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: I70e31b730026941a9973b1eb1118d8c300be5a54

show more ...


# 84b790cb 22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I8e2242adb79be342562c9b7f3d2153dfdf578085

show more ...


# 4876c540 08-Jun-2022 George Liu <liuxiwei@inspur.com>

BIOS: Stop sending the events to host if the bios value is unchanged

In the current state, PLDM sends the event to host for every attribute
change (irrespective of if whether if the value is even ch

BIOS: Stop sending the events to host if the bios value is unchanged

In the current state, PLDM sends the event to host for every attribute
change (irrespective of if whether if the value is even changed).
This commit is for fixing that behavior.

Tested:
1.
busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a{s\(sv\)} 1 "pvm_default_os_type" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" s "Linux"

2.
busctl set-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a{s\(sv\)} 1 "pvm_default_os_type" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" s "Linux"
pldmd[673]: The bios property value has not changed, attributeName = pvm_default_os_type

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I5e9e135d2ecf8811ad5f4e4d6e85529e5ba1ca09

show more ...


# 6a4d1cf8 24-Nov-2021 Varsha Kaverappa <vkaverap@in.ibm.com>

PLDM BIOS attr enum return error if byte value is 2

Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
Change-Id: I67da5157da04649474ff4fa770f7d2652a09e607


# 51330585 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I6a2316d11f1dd70d8dc2368c2aa01d88cf1cdb26


# 5bb9edb9 05-Aug-2021 George Liu <liuxiwei@inspur.com>

BIOS: support readonly attributes

Since the P10 system has BMC to manager the BIOS attributes,
and the BMC side does not know the attribute values of the BIOS,
it should allow the OO

BIOS: support readonly attributes

Since the P10 system has BMC to manager the BIOS attributes,
and the BMC side does not know the attribute values of the BIOS,
it should allow the OOB interface(Host) to be able to set BIOS
readOnly attributes, while still preventing the redfish-doPATCH
operation on it.

Tested: if the readOnly attribute of the pvm_system_name is true,
so we can use `pldmtool` to update the BIOS attributes.

pldmtool bios SetBIOSAttributeCurrentValue -a pvm_system_name -d XXX
{
"Response": "SUCCESS"
}

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Iabcb5c2400eb0a5c208cc76180d4b07e02457f44

show more ...


# 5079ac4a 19-Aug-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

treewide: remove 'using namespace' from headers

Using namespace at global scope in a header file violates the cpp core
guidelines. Quoting the guidelines:

"Doing so takes awa

treewide: remove 'using namespace' from headers

Using namespace at global scope in a header file violates the cpp core
guidelines. Quoting the guidelines:

"Doing so takes away an #includer’s ability to effectively
disambiguate and to use alternatives. It also makes #included headers
order-dependent as they might have different meaning when included in
different orders."

For further reading:
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-using-directive

The guidelines don't call out using using namespace from namespace
scope, but it is only marginally less problematic and still unexpected,
so this patch removes those as well.

The process used to do the update is roughly:

1 - git grep 'using namespace' **.hpp
2 - For each instance, remove the offending 'using namespace' line
3 - build
4 - add 'using namespace' to cpp files or fully resolve types in hpp
files until the project builds again.

Further cleanup is possible - for example cpp files could be scrubbed
for unnecessary namespace qualification - this was not done here to make
review as simple as possible.

Change-Id: I4931f5e78a1b5b74b4a4774c035a549f4d59b91a
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# c0c79481 02-Jun-2021 Sampa Misra <sampmisr@in.ibm.com>

implement async handlers for all requester commands

this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to
convert the existing blocking requester commands in pldm to async

implement async handlers for all requester commands

this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to
convert the existing blocking requester commands in pldm to async
ones.
this is tested with Host code and seems to work fine

Change-Id: I8d4762c3cd5bce49f854b30f8325bfcd1dcb4ff9
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...


12