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