#
77e6fe7a |
| 06-Aug-2024 |
Gilbert Chen <gilbertc@nvidia.com> |
platform-mc: Added EventManager
Added eventManager to handle sensor event class(00h) which is defined in table 11 of DSP0248 v1.3.0. In this commit, the eventManager supports to receive event asynch
platform-mc: Added EventManager
Added eventManager to handle sensor event class(00h) which is defined in table 11 of DSP0248 v1.3.0. In this commit, the eventManager supports to receive event asynchronously. The commit will also log the Ipmitool SEL log and Redfish log for PLDM sensor event messages.
Change-Id: I1b337ccae454067841ffbbd8754631216a995542 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Signed-off-by: Gilbert Chen <gilbertc@nvidia.com>
show more ...
|
#
0ff3435d |
| 22-Aug-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Mark pldm as a c++ project
pldm is not a [c++, c] project anymore, it was initially marked as a c project as well , because of the libpldm component. Now that we have the libpldm moved out of pldm i
Mark pldm as a c++ project
pldm is not a [c++, c] project anymore, it was initially marked as a c project as well , because of the libpldm component. Now that we have the libpldm moved out of pldm into its own repository, we can safely mark the pldm repo as a c++ project.
Change-Id: Id5a11faf8c3f69bfd837bdfd2fc92c5322bbe1bb Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
3012b632 |
| 22-Aug-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Format meson files with meson.format
Meson 1.5.0 introduced a new feature to format all the meson files. Formatting all the meson files is now as simple as running `meson format -i -r` command in th
Format meson files with meson.format
Meson 1.5.0 introduced a new feature to format all the meson files. Formatting all the meson files is now as simple as running `meson format -i -r` command in the repository root folder.
more details : https://mesonbuild.com/Commands.html#format
Change-Id: I9c5468cc502ae78b7a055e2de2a10296930cb9ec Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
eac61a4b |
| 23-Feb-2022 |
Gilbert Chen <gilbert.chen@arm.com> |
platform-mc: Add sensor manager
Added sensor_manager class. The sensor_manager class manages the timing of sensor polling.
tested: Verified on ast2600 EVB which is connected to a PLDM device over I
platform-mc: Add sensor manager
Added sensor_manager class. The sensor_manager class manages the timing of sensor polling.
tested: Verified on ast2600 EVB which is connected to a PLDM device over I2C. bmcweb can display the state of numeric sensor.
Signed-off-by: Gilbert Chen <gilbert.chen@arm.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I4257f823ea26d7fdb322cc82d847e94db056258c
show more ...
|
#
3c5486d4 |
| 01-Aug-2024 |
Thu Nguyen <thu@os.amperecomputing.com> |
platform-mc: Create Numeric sensor D-Bus object
Added numeric_sensor class. The NumericSensor class will create the Numeric sensor D-Bus object. The class also handles sensor status and exports its
platform-mc: Create Numeric sensor D-Bus object
Added numeric_sensor class. The NumericSensor class will create the Numeric sensor D-Bus object. The class also handles sensor status and exports its status to D-Bus interfaces.
tested: Verified on ast2600 EVB which is connected to a PLDM device over I2C. bmcweb can display the state of numeric sensor.
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I1c7de2e74100ed787ed2119896d3c5b36098dd96
show more ...
|
#
f106a2c8 |
| 25-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
fw-update: Break circular dependency
``` In file included from ../pldmd/pldmd.cpp:2: In file included from ../common/flight_recorder.hpp:3: In file included from ../common/utils.hpp:15: In file incl
fw-update: Break circular dependency
``` In file included from ../pldmd/pldmd.cpp:2: In file included from ../common/flight_recorder.hpp:3: In file included from ../common/utils.hpp:15: In file included from ../subprojects/nlohmann_json/single_include/nlohmann/json.hpp:29: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/memory:78: /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:91:16: error: invalid application of 'sizeof' to an incomplete type 'pldm::fw_update::Activation' 91 | static_assert(sizeof(_Tp)>0, | ^~~~~~~~~~~ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:398:4: note: in instantiation of member function 'std::default_delete<pldm::fw_update::Activation>::opera tor()' requested here 398 | get_deleter()(std::move(__ptr)); | ^ ../fw-update/update_manager.hpp:46:14: note: in instantiation of member function 'std::unique_ptr<pldm::fw_update::Activation>::~unique_ptr' requested here 46 | explicit UpdateManager( | ^ ../fw-update/update_manager.hpp:33:7: note: forward declaration of 'pldm::fw_update::Activation' 33 | class Activation; | ^ In file included from ../pldmd/pldmd.cpp:2: In file included from ../common/flight_recorder.hpp:3: In file included from ../common/utils.hpp:15: In file included from ../subprojects/nlohmann_json/single_include/nlohmann/json.hpp:29: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/memory:78: /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:91:16: error: invalid application of 'sizeof' to an incomplete type 'pldm::fw_update::ActivationProgress' 91 | static_assert(sizeof(_Tp)>0, | ^~~~~~~~~~~ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unique_ptr.h:398:4: note: in instantiation of member function 'std::default_delete<pldm::fw_update::ActivationProgress >::operator()' requested here 398 | get_deleter()(std::move(__ptr)); | ^ ../fw-update/update_manager.hpp:46:14: note: in instantiation of member function 'std::unique_ptr<pldm::fw_update::ActivationProgress>::~unique_ptr' requested here 46 | explicit UpdateManager( | ^ ../fw-update/update_manager.hpp:34:7: note: forward declaration of 'pldm::fw_update::ActivationProgress' 34 | class ActivationProgress; | ^ ```
Change-Id: I2820cbe134d1f37a43e6a5056eed87dde6e63b08 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
6c7fed4c |
| 22-Feb-2022 |
Gilbert Chen <gilbert.chen@arm.com> |
platform-mc: Added Terminus/TerminusManager class
Added requester::sendRecvPldmMsg awaiter type to be able to send and receive PLDM message by coroutine. Added TerminusManager to discover terminus f
platform-mc: Added Terminus/TerminusManager class
Added requester::sendRecvPldmMsg awaiter type to be able to send and receive PLDM message by coroutine. Added TerminusManager to discover terminus from EID list updated by MCTPDiscovery class. The TerminusManager will initialize TID.
Signed-off-by: Gilbert Chen <gilbert.chen@arm.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: Ifa5bdfff50648f1d7fba8710e160de662e8f9e06
show more ...
|
#
516122e0 |
| 07-May-2024 |
Kamalkumar Patel <kamalkumar.patel@ibm.com> |
Add Json Config support for entity to DBus string
The entity map comprises both entity types and their corresponding names, essential for generating unique D-Bus paths for each entity. However, chal
Add Json Config support for entity to DBus string
The entity map comprises both entity types and their corresponding names, essential for generating unique D-Bus paths for each entity. However, challenges arise due to variations in path generation across companies, often dictated by differing entity types. To address this, enabling configurability of EntityID becomes imperative, empowering communities to tailor configurations to their specific use cases.
Testing: Unit tests passed
Change-Id: I3981fde64bd00940caa5067a9472fd948e74cbf0 Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>
show more ...
|
#
ace4e14d |
| 24-Apr-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Deprecate the support for x86 sdk
OpenBMC as a project has moved away from using yocto x86 sdks for unit testing. Instead now the preferred way to build and test code is by two ways:
1. Leveraging
Deprecate the support for x86 sdk
OpenBMC as a project has moved away from using yocto x86 sdks for unit testing. Instead now the preferred way to build and test code is by two ways:
1. Leveraging the meson subproject support 2. Using openbmc docker container
Since x86 sdks needed some weird hacks in the code base like figuring out the linker arguments ourselves & running custom bash commands from the meson build files. Also with changing yocto code base, its a large maintainer burden to make sure this support works.
Tested: Code builds & unit tests are passed with both the approaches mentioned above.
Change-Id: Iaf55e2c003ffd9ee1a295de5bdfd14d81222e94b 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 ...
|
#
4d99c311 |
| 28-Mar-2024 |
Sagar Srinivas <sagar.srinivas@ibm.com> |
Softoff: Add config support for PDR entities
This commit introduces a config file for the soft power off app. The config file specifies the order of remote PDRs to be checked during the soft power o
Softoff: Add config support for PDR entities
This commit introduces a config file for the soft power off app. The config file specifies the order of remote PDRs to be checked during the soft power off process.
Previously, the entity type was hardcoded in the codebase, limiting scalability. With this change, the softoff app gains flexibility for future expansions.
TESTED: By running 'obmcutil poweroff' with various remote entities during boot-up.
Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com> Change-Id: Ib8d2aba6a05fc4e9da4b042fd67890e6282ed784
show more ...
|
#
cfefc15d |
| 07-Feb-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
fix usage of broken feature in meson.build file
It seems that we are trying to convert file objects to strings which is considered as a misfeature since it does not work reliably.
This is the warni
fix usage of broken feature in meson.build file
It seems that we are trying to convert file objects to strings which is considered as a misfeature since it does not work reliably.
This is the warning that is seen while building pldm:
``` WARNING: Broken features used: * 1.3.0: {'str.format: Value other than strings, integers, bools, options, dictionaries and lists thereof.'} ```
Tested:
Rebuild pldm repository with the fix and it builds pldm without the mentioned warning above.
Change-Id: If8fedf488d33de6dccc2c1b45c2bfe124fbc3384 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
4668f5c8 |
| 14-Jan-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pldm: Use system include directives for libpldm
libpldm is no-longer a subproject, so let's stop treating it like it is one by default.
Fixed with:
``` $ sed -Ei 's/#include "libpldm\/([^"]+).h"/#
pldm: Use system include directives for libpldm
libpldm is no-longer a subproject, so let's stop treating it like it is one by default.
Fixed with:
``` $ sed -Ei 's/#include "libpldm\/([^"]+).h"/#include <libpldm\/\1.h>/' $(git grep -lF '"libpldm/') ```
Change-Id: I9be54661dcee1bdf2575aece8ff250424b4b7b56 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
#
0a4ae8a8 |
| 02-Jan-2024 |
Patrick Williams <patrick@stwcx.xyz> |
meson: simplify add_project_arguments for OEM_IBM
Set it in one line for both C and C++.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I40cba5500a92b66ec0fe1dea935a5ce5da0a3a38
|
#
cf772846 |
| 07-Dec-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: adjust nlohmann-json dependency
Simplify the meson dependency for nlohmann-json, use the consistent dependency name, and align the wrap file name with other repositories.
Signed-off-by: Patr
meson: adjust nlohmann-json dependency
Simplify the meson dependency for nlohmann-json, use the consistent dependency name, and align the wrap file name with other repositories.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3a682a3e07e38d0a1bfe35858e24f1bb74b4ec34
show more ...
|
#
87bfacd2 |
| 29-Nov-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer retur
build: use allowed over enabled
Meson feature options are typically in a tri-state of enabled, disabled, or auto. The enabled and disabled functions on an option (from `get_option`) no longer return true for auto features. Instead, the expectation is to use `allowed()` which is true for both enabled and auto.
Switch all uses of `enabled` to `allowed`.
Change-Id: I794c658531483266bfce6f9b28127a166ed01490 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
1ed5f7a6 |
| 21-May-2023 |
Rashmica Gupta <rashmica@linux.ibm.com> |
pldm: Convert to using libpldm transport APIs
A significant amount of logic can be removed by exploiting the new transport APIs provided by libpldm. Switch the pldm repository over to use these by i
pldm: Convert to using libpldm transport APIs
A significant amount of logic can be removed by exploiting the new transport APIs provided by libpldm. Switch the pldm repository over to use these by introducing an RAII wrapper for the APIs. The current stance is to continue using the legacy mctp-demux transport implementation, but we also provide a build option to switch to the AF_MCTP transport.
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: I366f079082b102cfc0e90db0f62208581eb8693e Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com> Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
show more ...
|
#
fc81a437 |
| 26-Jul-2023 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
use fs.copyfile instead of deprecated copy
copy arg in configure_file API is deprecated since meson version 0.64.0. As we moved to meson version 1.1.1 we can leverage the filesystem module copyfile(
use fs.copyfile instead of deprecated copy
copy arg in configure_file API is deprecated since meson version 0.64.0. As we moved to meson version 1.1.1 we can leverage the filesystem module copyfile() to achive the same result.
Change-Id: I8ec540a505060306ff643a153cb2ca1b1ca4d35e Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
cdbb9e27 |
| 13-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
use std::move_only_function
Since enabling C++23, we can eliminate the need for `function2` and instead leverage `std::move_only_function`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Chang
use std::move_only_function
Since enabling C++23, we can eliminate the need for `function2` and instead leverage `std::move_only_function`.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iafc70c918e38b429e586bf18f71a716bdede43f8
show more ...
|
#
b95bbe36 |
| 12-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: I04732a67ef18c711ca80e
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: I04732a67ef18c711ca80e53f0bf4828218f2b682 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
47792274 |
| 13-Jun-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pldm: Include config.h via compiler argument
This removes any ambiguity about which config.h is being included. Subprojects such as libpldm and phosphor-logging also generate config.h files, and the
pldm: Include config.h via compiler argument
This removes any ambiguity about which config.h is being included. Subprojects such as libpldm and phosphor-logging also generate config.h files, and these are exposed in the include path.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I3e0ccd6339f088380ffa29d41167b07aefc7dd16
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 ...
|
#
7c1dc7ea |
| 28-Apr-2023 |
Andrew Jeffery <andrew@aj.id.au> |
pldmd: move to libpldm instance ID alloc/free
Refactor the dbus_api::Requester class to be implemented in terms of libpldm's instance ID database. To make that easier to deal with we introduce a lig
pldmd: move to libpldm instance ID alloc/free
Refactor the dbus_api::Requester class to be implemented in terms of libpldm's instance ID database. To make that easier to deal with we introduce a light-weight RAII C++ binding along with a helper class for unit tests.
Change-Id: Ia03de8245dfb114e6266ba36dcf26ca4398a4ce0 Signed-off-by: Rashmica Gupta <rashmica@linux.ibm.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
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 ...
|
#
c894c0a5 |
| 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: I016ab773ac9cbe09bc4f9489e396f1c4b2082674 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|