dd1f28b8 | 11-Mar-2025 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Move dbus_to_terminus_effecter code to platform-mc
In the current state , pldm build breaks when attempting to perform a debug-optimized build (`-O2` optimization), leading to the following linker e
Move dbus_to_terminus_effecter code to platform-mc
In the current state , pldm build breaks when attempting to perform a debug-optimized build (`-O2` optimization), leading to the following linker error:
``` undefined reference to `pldm::platform_mc::TerminusManager::getActiveEidByName (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' ```
This issue is not encountered in the CI environment, as CI uses the `-Og` optimization flag, which does not aggressively inline functions. Consequently, the reference to `getActiveEidByName()` is resolved without issue. However, when building the project with default optimizations (debugoptimized [-O2]), the build fails because the linker cannot resolve the reference to `getActiveEidByName()`, which is inlined by the compiler.
To address this problem, there are three potential solutions:
1. Prevent Inlining of the Function: We could use `__attribute__((noinline))` to prevent the compiler from inlining `getActiveEidByName()`.
2. Move Source Files into `libpldmresponder`: We could move the `platform-mc/manager.cpp` and `platform-mc/terminus_manager.cpp` files into the `libpldmresponder` so the compiler can resolve the reference directly within the library.
3. Migrate `dbus_to_terminus_effecter.cpp` to the `platform-mc` folder:
The most appropriate solution appears to be migrating the `dbus_to_terminus_effecter.cpp` file into the `platform-mc` directory. This file is not inherently tied to `libpldmresponder` but functions as a requester. Additionally, there are existing community patches that allow the system to scale from a single host terminus to multiple terminii, further justifying this move. So, solution #3 is the most fitting at this stage. By relocating the `dbus_to_terminus_effecter` code to the `platform-mc` folder, we can ensure proper modularity, while also resolving the build issue in a clean and scalable manner.
Tested By: 1. meson build -Doptimization=2 works fine with the patchset.
Change-Id: I0ac8be58253bfb0394500f1d34e8431c6103c924 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
38e12aa2 | 21-Jan-2025 |
Thu Nguyen <thu@os.amperecomputing.com> |
Support `terminus_name` option in `dbus_to_terminus_effecter`
Support `terminus_name` configuration option in `dbus_to_terminus_effecter` to allow setting the destination terminus beside `mctp_eid`.
Support `terminus_name` option in `dbus_to_terminus_effecter`
Support `terminus_name` configuration option in `dbus_to_terminus_effecter` to allow setting the destination terminus beside `mctp_eid`. This is helpful when the mctp endpoint Eid is not static.
Change-Id: I8b1ed15741807086254146017c99c13ae667dac1 Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com>
show more ...
|
49575833 | 29-Jan-2025 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
host-bmc: Migrate to placement_new from reinterpret casting
reinterpret_cast is prohibited by the C++ core guidelines because it takes the behavior outside the language definition and gives problems
host-bmc: Migrate to placement_new from reinterpret casting
reinterpret_cast is prohibited by the C++ core guidelines because it takes the behavior outside the language definition and gives problems with type safety. Placement-new on the other-hand allows to control the object storage while still properly instantiating an object,keeping the behavior inside the C++ language specification.
Change-Id: If8dcc8ebb592692110a7c96485021e0df660f576 Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
d432b48b | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Board interface
Adding support to host Board dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The B
host-bmc: Implement Board interface
Adding support to host Board dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Board interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Board.interface.yaml
Change-Id: I672abd2972eb18a4b1a81155811a544927884627 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
2832f2cd | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement VRM interface
Adds support to host Voltage Regulator Module interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity ty
host-bmc: Implement VRM interface
Adds support to host Voltage Regulator Module interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The VRM interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Vrm.interface.yaml
Change-Id: I5124de5f34d3a482d17f1859ecfe8704901c5fad Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
765cf03d | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Panel interface
Adding support to host Panel dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The P
host-bmc: Implement Panel interface
Adding support to host Panel dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Panel interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Panel.interface.yaml
Change-Id: I9e98baa8a0559a6cc38e8557349f4e2369ba6058 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
c366447a | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Inventory Item interface
Adding support to host Inventory Item dbus interface. PLDM hosts the dbus interface based on the entity type. The Inventory Item interface is defined a
host-bmc: Implement Inventory Item interface
Adding support to host Inventory Item dbus interface. PLDM hosts the dbus interface based on the entity type. The Inventory Item interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item.interface.yaml
Change-Id: Ifed3cc01d825a69d64afcffd8447f7c8d9387913 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
42876b6c | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement fabric adapter interface
Adding support to host fabric adapter dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the e
host-bmc: Implement fabric adapter interface
Adding support to host fabric adapter dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Fabric adapter interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/FabricAdapter.interface.yaml
Change-Id: I72a7e3198dbbf78521eeeb37b926562064f733b9 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
17b1e8a8 | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Connector interface
Adding support to host Connector dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type
host-bmc: Implement Connector interface
Adding support to host Connector dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Connector interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Connector.interface.yaml
Change-Id: Iefad8287e4cb2221b14f28219473285b89098975 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
f935537d | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Availability interface
Adding support to host Availability dbus interface. PLDM hosts this dbus interface to provide the availability of the FRUs hosted by PLDM. The Availability
host-bmc: Implement Availability interface
Adding support to host Availability dbus interface. PLDM hosts this dbus interface to provide the availability of the FRUs hosted by PLDM. The Availability interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/State/Decorator/Availability.interface.yaml
Change-Id: Ie5912b3683ce102a249c8b503ea9f455f0fbcabf Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
1634a6e9 | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Asset interface
Adding support to host Asset dbus interface. Based on the Topology data received from remote PLDM terminus, PLDM hosts the dbus interface. The Asset interface i
host-bmc: Implement Asset interface
Adding support to host Asset dbus interface. Based on the Topology data received from remote PLDM terminus, PLDM hosts the dbus interface. The Asset interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Decorator/Asset.interface.yaml
Change-Id: Ia32e69861192fca6db8c1613fbec281ca3faa3e8 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
24e9a9bb | 04-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement PowerSupply interface
Adding support to host Powersupply dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity t
host-bmc: Implement PowerSupply interface
Adding support to host Powersupply dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The powersuppply interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/PowerSupply.interface.yaml
Change-Id: I2f8c57a2db7e6ffffe14b7dff646e73164f84f86 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
db65c3b4 | 03-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
host-bmc: Implement Chassis interface
Adding support to host Chassis dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. Th
host-bmc: Implement Chassis interface
Adding support to host Chassis dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Chassis interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Chassis.interface.yaml
Change-Id: Ia07c5974ae78314e0812cb09fbc6c738b4853cb9 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
413f51ea | 03-Feb-2025 |
Archana Kakani <archana.kakani@ibm.com> |
pldm: Implement Fan Interface
Adding support to host Fan dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Fan interfa
pldm: Implement Fan Interface
Adding support to host Fan dbus interface. Based on the PDRs received from remote PLDM terminus, PLDM hosts the dbus interface based on the entity type. The Fan interface is defined at [1].
Tested: Functional test passed
[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Fan.interface.yaml
Change-Id: I353085817abb3646e607659d116207660d0bd0d4 Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
366507c8 | 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I95f756bab7f403af49a94011bbb1fe4e51f985ad Signed-off-by: Patrick Williams <p
clang-format: update latest spec and reformat
Copy the latest format file from the docs repository and apply.
Change-Id: I95f756bab7f403af49a94011bbb1fe4e51f985ad Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
0469b568 | 06-Jan-2025 |
Ed Tanous <etanous@nvidia.com> |
Replace all isnan calls with isfinite
In most of the numeric sensor code, the code uses isnan as an analog for "Can be used sanely in a math equation" Unfortunately, isnan will return false for thi
Replace all isnan calls with isfinite
In most of the numeric sensor code, the code uses isnan as an analog for "Can be used sanely in a math equation" Unfortunately, isnan will return false for things like infinity, negative infinity, large values, etc that aren't usable in math, but are not nan.
This commit replaces all calls in the codebase from isnan to isfinite[1]
Testing: Need help here from maintainers to understand what they'd like to see in terms of tests. This is a pretty isolated and mechanical change.
[1] https://en.cppreference.com/w/cpp/numeric/math/isfinite
Change-Id: I4995ea319c058869c3f7d010ae8b5a08c68b10e5 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
04ac9971 | 06-Sep-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://githu
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://github.com/codespell-project/codespell
Change-Id: Ia7dbb04ead7565d63437a5878fd8a543029d9a93 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
b3b84b49 | 23-Aug-2024 |
Pavithra Barithaya <pavithrabarithaya07@gmail.com> |
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://rel
clang-tidy: Enable modernize-deprecated-headers check
Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. Some have no effect in C++ [1].
[1]: https://releases.llvm.org/13.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize-deprecated-headers.html
Change-Id: Ia3b1df10175e2e661c8fffb82e357c9db81b2e9c Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
show more ...
|
03b02d59 | 11-Jul-2023 |
Pavithra Barithaya <pavithra.b@ibm.com> |
clang-tidy: Enable bugprone-too-small-loop-variable check
This check detects those for loops that have a loop variable with a “too small” type which means this type can’t represent all values which
clang-tidy: Enable bugprone-too-small-loop-variable check
This check detects those for loops that have a loop variable with a “too small” type which means this type can’t represent all values which are part of the iteration range.
Change-Id: I9052bfd819ab78970b929411a08d77796c353465 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
a34a64bb | 30-Mar-2022 |
Thu Nguyen <thu@os.amperecomputing.com> |
Support numeric effecters in dbus-to-host-effecter
Adds support of the numeric effecter PDR (section `28.11 Numeric Effecter PDR` DSP0248 V1.3.0) type in dbus-to-host-effecter handler. This handler
Support numeric effecters in dbus-to-host-effecter
Adds support of the numeric effecter PDR (section `28.11 Numeric Effecter PDR` DSP0248 V1.3.0) type in dbus-to-host-effecter handler. This handler will be applied for all PLDM termini but not only host. The setting for one numeric effecter of one device can be: { "mctp_eid": 20, "effecter_info": { "effecterPdrType": 9, "effecterID": 2, "entityType": 32903, "entityInstance": 2, "containerID": 2, "compositeEffecterCount": 1, "checkHostState": false }, "effecters": [ { "dbus_info": { "object_path": "/xyz/openbmc_project/sensors/power/A", "interface": "xyz.openbmc_project.Sensor.Value", "property_name": "Value", "property_type": "double" }, "effecterDataSize": 5, "resolution": 1, "offset": 0, "unitModifier": 0 } ] }
Where: + effecterPdrType to difference state/numeric effecter type. Default is state effecter. + effecterID should be effecter ID and should not empty. + checkHostState can be set to false to bypass checking host state. + effecterDataSize, resolution, offset, unitModifier are from numeric effecter PDR (section `28.11 Numeric Effecter PDR` DSP0248 V1.3.0)
Signed-off-by: Thu Nguyen <thu@os.amperecomputing.com> Change-Id: I438d7f204643edd4066e8a6ba28d53a97503fc4b
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 ...
|
16c2a0a0 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: I8c84201cb2343a8c8a5507a49de0721a1bee7063 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
7761bd25 | 01-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pldm: Move off pldm_entity_association_pdr_add_from_node_check()
Generated with:
``` $ CLANG_VERSION=18 ./subprojects/libpldm/scripts/apply-renames ./subprojects/libpldm/evolutions/current/pldm_ent
pldm: Move off pldm_entity_association_pdr_add_from_node_check()
Generated with:
``` $ CLANG_VERSION=18 ./subprojects/libpldm/scripts/apply-renames ./subprojects/libpldm/evolutions/current/pldm_entity_association_pdr_add_from_node_check.yaml ```
Change-Id: I1d68f53f8b76c48f564c110a1d2a7ec8d42e7483 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
5a945bd1 | 01-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pldm: Move off pldm_pdr_add_check()
Generated with:
``` $ CLANG_VERSION=18 ./subprojects/libpldm/scripts/apply-renames ./subprojects/libpldm/evolutions/current/pldm_pdr_add_check.yaml ```
Change-I
pldm: Move off pldm_pdr_add_check()
Generated with:
``` $ CLANG_VERSION=18 ./subprojects/libpldm/scripts/apply-renames ./subprojects/libpldm/evolutions/current/pldm_pdr_add_check.yaml ```
Change-Id: I4982195e97c25567b35f77ee7dcf795629d259b4 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
c14fb4bd | 25-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
pldm: Drop pessimizing moves
Fixes issues such as:
``` ../host-bmc/host_pdr_handler.cpp:684:9: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] 684 | st
pldm: Drop pessimizing moves
Fixes issues such as:
``` ../host-bmc/host_pdr_handler.cpp:684:9: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] 684 | std::move(std::vector<uint8_t>(1, PLDM_PDR_ENTITY_ASSOCIATION)), | ^ ../host-bmc/host_pdr_handler.cpp:684:9: note: remove std::move call here 684 | std::move(std::vector<uint8_t>(1, PLDM_PDR_ENTITY_ASSOCIATION)), | ^~~~~~~~~~ ~ ```
Change-Id: Id26f0d6fc21837e1eb76ae3c294c222782a4e69f Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|