130ac97c | 14-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
power-sequencer: Replace Argument class with CLI11
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I8f48a1fb18ed2c190c8292317e883b05754a5558 |
b60823fa | 14-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
power-supply: Replace Argument class with CLI11
Phosphor-power already depends on cli11, delete Argument class and use cli11 instead.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I4ca
power-supply: Replace Argument class with CLI11
Phosphor-power already depends on cli11, delete Argument class and use cli11 instead.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I4caebf3f9fcb432fd1a80535b9b067aab66b1b71
show more ...
|
25478fa2 | 01-Aug-2023 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Create Bonnell configuration file
Create the power sequencer configuration file for Bonnell systems. This file identifies the PMBus rails and the GPIO lines/pins that should be checked when a
pseq: Create Bonnell configuration file
Create the power sequencer configuration file for Bonnell systems. This file identifies the PMBus rails and the GPIO lines/pins that should be checked when a pgood failure occurs.
On Bonnell systems no GPIO lines need to be checked.
Tested: * Configuration file loading * Verified file is found on Bonnell systems using D-Bus property * Verified file is loaded successfully without errors * Verified all rails in file are stored in C++ data structures * Verified having empty pin array does not cause an error * Tested where file contains a syntax error * Verified error message is written to journal * Verified no error log created * pgood detection * Verified system powers on cleanly when no pgood error is present * chassison * Verified chassis is powered on * Verified no error logs created * Verified no error messages written to the journal * poweron * Verified system is powered on * Verified no error logs created * Verified no error messages written to the journal * Verified system powers off cleanly when no pgood error is present * chassisoff * Verified chassis is powered off * Verified no error logs created * Verified no error messages written to the journal * poweroff * Verified system is powered off * Verified no error logs created * Verified no error messages written to the journal * Test where a pgood error is detected in a rail * Verified pgood failure is detected * Verified error message written to the journal * Verified GPIO values written to the journal * Verified error log is created * Tested with a pgood error on each rail in the config file * Test where pgood failure occurs during power on attempt * Test where pgood failure occurs after system was successfully powered on
Change-Id: I431d2dd7e99f2a99bbab936d6fad03af5654886f Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
b0475e7a | 17-Jul-2023 |
Matt Spinler <spinler@us.ibm.com> |
Update nlohmann-json subproject handling
Without this, a build with subprojects would fail with:
``` meson.build:89:24: ERROR: Include dir subprojects/nlohmann-json/single_include does not exist. `
Update nlohmann-json subproject handling
Without this, a build with subprojects would fail with:
``` meson.build:89:24: ERROR: Include dir subprojects/nlohmann-json/single_include does not exist. ```
Change-Id: I26e26a7a0473ffb163fc4ca9f1ac291f13de261e Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
6f499e68 | 14-Aug-2023 |
George Liu <liuxiwei@inspur.com> |
meson: Replace configure_file with fs.copyfile
configure_file is deprecated since 0.64.0, and replace it with fs.copyfile.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I6eacc451a8eb9f
meson: Replace configure_file with fs.copyfile
configure_file is deprecated since 0.64.0, and replace it with fs.copyfile.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I6eacc451a8eb9f4597f2f42240e5091f8eacc9ba
show more ...
|
d3de3643 | 17-Jul-2023 |
Matt Spinler <spinler@us.ibm.com> |
Fix fmt subproject handling
Without this standalone builds were failing with:
meson.build:70:6: ERROR: Dependency 'fmt' is required but not found.
Change-Id: Ic85937bdfb5a6c837df844e2eb26331a9b6eb
Fix fmt subproject handling
Without this standalone builds were failing with:
meson.build:70:6: ERROR: Dependency 'fmt' is required but not found.
Change-Id: Ic85937bdfb5a6c837df844e2eb26331a9b6eb755 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
220c246a | 17-Jul-2023 |
Matt Spinler <spinler@us.ibm.com> |
Add googletest wrap
Add the wrap so tests can be done standalone.
The "'BUILD_SHARED_LIBS': 'ON'" option is needed or else stdplus, which is indirectly pulled in as a subproject, fails with:
``` s
Add googletest wrap
Add the wrap so tests can be done standalone.
The "'BUILD_SHARED_LIBS': 'ON'" option is needed or else stdplus, which is indirectly pulled in as a subproject, fails with:
``` subprojects/stdplus/src/meson.build:207:22: ERROR: Can't link non-PIC static library 'gtest' into shared library 'stdplus-gtest'. Use the 'pic' option to static_library to build with PIC. ```
Change-Id: Ia1847cab885e2b6adb72bec08621f5d154990e79 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
c0b9e9e4 | 17-Jul-2023 |
Matt Spinler <spinler@us.ibm.com> |
Fix standalone build fail in utils/version.cpp
Either the new compiler, C++ version, or nlohmann version starting giving an error when building with subprojects:
``` ../tools/power-utils/version.cp
Fix standalone build fail in utils/version.cpp
Either the new compiler, C++ version, or nlohmann version starting giving an error when building with subprojects:
``` ../tools/power-utils/version.cpp: In function ‘PsuVersionInfo utils::getVersionInfo(const std::string&)’: ../tools/power-utils/version.cpp:67:40: error: ambiguous overload for ‘operator=’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘const nlohmann::basic_json<>::value_type’ {aka ‘const nlohmann::basic_json<>’}) 67 | versionStr = fru["fileName"]; ```
Change-Id: Ic0de80331a04110a279702b30bd7cf55ec8c083c Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
e9b37264 | 30-Jul-2023 |
Faisal Awada <faisal@us.ibm.com> |
psu-ng: Bypass ACBEL unsupported features
ACBEL does not support input history and sync history, therefore a condition statement was added to prevent execution of input history, sync history.
Test
psu-ng: Bypass ACBEL unsupported features
ACBEL does not support input history and sync history, therefore a condition statement was added to prevent execution of input history, sync history.
Test: * Verified no error logged when powered on/off * Verified no sync history when ACBEL PSU present * Verified no change to sync history on IBM PSU * Verified PSU metrics listed in redfish for ACBEL PSU and IBM PSU.
Change-Id: I62db9ef63cddd144afe9eafc8c3de06dd808a30a Signed-off-by: Faisal Awada <faisal@us.ibm.com>
show more ...
|
9582d9cc | 11-Jul-2023 |
Faisal Awada <faisal@us.ibm.com> |
psu-ng: Add ACBEL PSU pmbus supported commands.
Update PSU monitor to use the following pmbus commands supported by ACBEL PSU DD:
- To clear STATUS_INPUT use curr1_crit_alarm instead of in1_cri
psu-ng: Add ACBEL PSU pmbus supported commands.
Update PSU monitor to use the following pmbus commands supported by ACBEL PSU DD:
- To clear STATUS_INPUT use curr1_crit_alarm instead of in1_crit_alarm fault. - Update ACBEL PSU firmware version to be read from /sys/kernel/debug/pmbus/hwmonX instead from /sys/kernel/debug/pmbus/hwmonX/3-005a/ and update the ACBEL FW version size to 6 bytes. - On/off config not supported on ACBEL PSU.
Testing: * Unplugged power cord from the ACBEL PSU, and verified an error reported on the system. * Set IIN_OC_FAULT_LIMIT fault and verified curr1_crit_alarm clears the STATUS_INPUT. * Verified the code reading the ACBEL FW revision correctly. * Verified in1_input clears all faults on ACBEL PSU. * Tested modified the code on IBMCFFPS and verified the ACBEL PSU modification did not change the behavior on IBMCFFPS.
Change-Id: I5fef87043adb5d677723eb8a20b0aedc4574b7fd Signed-off-by: Faisal Awada <faisal@us.ibm.com>
show more ...
|
328ca312 | 11-Jul-2023 |
Shawn McCarney <shawnmm@us.ibm.com> |
pseq: Add GPIO formatting for UCD90160
Add support for formatting GPIO values when a pgood error is detected by a UCD90160.
Write the GPIO names and values to the journal and store them in the erro
pseq: Add GPIO formatting for UCD90160
Add support for formatting GPIO values when a pgood error is detected by a UCD90160.
Write the GPIO names and values to the journal and store them in the error log additional data.
This formatting support already exists for the UCD90320.
Tested: * Test where pgood error occurs while chassis is powering on * Verify correct GPIO values are captured * Verify GPIO names and values are written to journal * Verify GPIO names and values are stored in error log * Test where pgood error occurs after chassis is powered on * Verify correct GPIO values are captured * Verify correct GPIO names and values are written to journal * Verify correct GPIO names and values are stored in error log * Test where the number of GPIO values is unexpected * Verify all values stored in additional data with no names * Verify all values written to the journal with no names
Change-Id: I9a761670bd8af020deb7f85d59d409ad6b5d5b2c Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
5d79d36a | 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: I2611b11724b134077becb
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: I2611b11724b134077becb1c193a94a2f50e5b685 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
eae2d614 | 23-Dec-2022 |
Jim Wright <jlwright@us.ibm.com> |
pseq: Add support for UCD90160 EM configuration
Add power control support for receiving Entity Manager configuration for a UCD90160 device and instantiating an object of that type.
Tested: * Test w
pseq: Add support for UCD90160 EM configuration
Add power control support for receiving Entity Manager configuration for a UCD90160 device and instantiating an object of that type.
Tested: * Test where EntityManager information is available when application starts * Test where EntityManager information is not available when application starts * Verify the EntityManager information is found later via InterfacesAdded events * Test where xyz.openbmc_project.Configuration.UCD90320 interface is found * Verify UCD90320Monitor object is created * Test where xyz.openbmc_project.Configuration.UCD90160 interface is found * Verify UCD90160Monitor object is created * Verify chassis can be powered on without errors * Verify chassis can be powered off without errors * Verify pgood error is detected and logged
Signed-off-by: Jim Wright <jlwright@us.ibm.com> Change-Id: Ibdb86db176971f27bbd2a998a39a0325997c6677 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
8270b7d1 | 26-Jun-2023 |
Shawn McCarney <shawnmm@us.ibm.com> |
Support multiple D-Bus interfaces in getSubTree()
The utility function getSubTree() only allows a single D-Bus interface to be specified.
This does not match the corresponding GetSubTree D-Bus meth
Support multiple D-Bus interfaces in getSubTree()
The utility function getSubTree() only allows a single D-Bus interface to be specified.
This does not match the corresponding GetSubTree D-Bus method, which allows multiple D-Bus interfaces to be specified.
Add a getSubTree() overload that accepts multiple D-Bus interfaces.
Tested: * Existing getSubTree() function * Test where it is successful * Test where it fails due to a D-Bus error * New getSubTree() function * Test where zero interfaces are specified * Test where one interface is specified * Test where multiple interfaces are specified * Test where it is successful * Test where it fails due to a D-Bus error
Change-Id: I56e124c13bec633f7a3af80ff6d5b2014454bfb8 Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
c48551ab | 22-Dec-2022 |
Jim Wright <jlwright@us.ibm.com> |
pseq: Add support for UCD90160 device
Refactor power sequencer class hierarchy to add support for the UCD90160 device.
Tested: * Verify UCD information is obtained successfully from EntityManager *
pseq: Add support for UCD90160 device
Refactor power sequencer class hierarchy to add support for the UCD90160 device.
Tested: * Verify UCD information is obtained successfully from EntityManager * Verify JSON configuration file is found and parsed successfully * Test where no pgood error occurs * During power on * Verify power on continues * Verify no error is logged * After chassis is powered on * Verify chassis remains powered on * Verify no error is logged * Test where pgood error occurs * During power on * Verify power on stops and chassis is powered off * Verify correct error is logged * Verify callouts and additional data in error log are correct * Detected via rail * Detected via pin * After chassis is powered on * Verify chassis is powered off * Verify correct error is logged * Verify callouts and additional data in error log are correct * Detected via rail * Detected via pin
Signed-off-by: Jim Wright <jlwright@us.ibm.com> Change-Id: Ib00bc1ea34b504c245a4f0cb3979a86e51507f3c Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
show more ...
|
5a355ba3 | 01-Jun-2023 |
Patrick Williams <patrick@stwcx.xyz> |
phosphor-regulators: squash warning on GCC-13 only
The change to squash the warning for dangling-reference can only be applied to GCC-13. On GCC-12, the compiler doesn't know about this warning and
phosphor-regulators: squash warning on GCC-13 only
The change to squash the warning for dangling-reference can only be applied to GCC-13. On GCC-12, the compiler doesn't know about this warning and fails when it comes across the unknown warning parameter.
Hopefully the false positives present here will be resolved in a future version of GCC so we are being specific about GCC-13 instead of exempting for GCC 13 and higher so that we are forced to revisit this later.
Fixes 974a794021c1c7430f17a9dfcf5d7b9cebf582a9
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iee3d0d8da3cec57d2199de2511d277c3bf4b33f3
show more ...
|
888bebde | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: add necessary subprojects
Add subprojects for all the direct dependencies of the project such that the project can be built outside of a Yocto SDK on a typical Linux development system.
-
meson: add necessary subprojects
Add subprojects for all the direct dependencies of the project such that the project can be built outside of a Yocto SDK on a typical Linux development system.
- Update the .gitignore to ignore the subproject source directories. - Update the .gitignore to ignore alternative build subdirectory names as is typical with most projects in the openbmc organization. - Add wrap files for direct dependencies, copied from other repositories that already have the same dependencies. - Modify the meson.build dependency for libgpiod so that the C++ bindings are included. - Add many missing dependencies throughout. - Sort all dependencies alphabetically for consistency.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0feb6f0f175e6dba0b00a2c2b666eb0801575734
show more ...
|
683c8b04 | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove cppfs dependency
The dependency on the c++fs library is something very old from the C++14 era and is no longer necessary with a modern compiler. Remove the explicit dependency from th
meson: remove cppfs dependency
The dependency on the c++fs library is something very old from the C++14 era and is no longer necessary with a modern compiler. Remove the explicit dependency from the meson setup.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia6aaf743a142f0b460c7f14dfa8bae3dbcd2be83
show more ...
|
8c324c9c | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
add cstdint include
GCC 13 adjusts the include structure such that cstdint does not end up being included by default in many cases. Add the include whenever the `uint*` class types are used to prev
add cstdint include
GCC 13 adjusts the include structure such that cstdint does not end up being included by default in many cases. Add the include whenever the `uint*` class types are used to prevent a compile failure.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0bb3dda5fe96db2109507500dfad29c3269454f7
show more ...
|
81e554c8 | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
tests: adjust self-copy tests
There are a couple tests which attempt to copy an object onto itself via a `std::move`. GCC 13 catches this as a "move onto self" and flags it as an error. Rather tha
tests: adjust self-copy tests
There are a couple tests which attempt to copy an object onto itself via a `std::move`. GCC 13 catches this as a "move onto self" and flags it as an error. Rather than use the `std::move`, perform a static_cast into an r-value reference so that the same copy-constructor is called as if the std::move were successfully used.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I097889578492b1a3ab456e8cb21a668aa0855be4
show more ...
|
41a6b9f3 | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
remove unnecessary std::move calls
GCC 13 now flags a std::move of an returned temporary as unnecessary and likely preventing RVO. Remove the unnecessary std::move.
Signed-off-by: Patrick Williams
remove unnecessary std::move calls
GCC 13 now flags a std::move of an returned temporary as unnecessary and likely preventing RVO. Remove the unnecessary std::move.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ibde052b5a4efd84bdbbac2f2f6e673729b32e6cd
show more ...
|
974a7940 | 31-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
phosphor-regulators: squash GCC dangling-reference warning
GCC 13 now includes a warning for possible dangling-references but the warning currently has a good number of false positives. This is dis
phosphor-regulators: squash GCC dangling-reference warning
GCC 13 now includes a warning for possible dangling-references but the warning currently has a good number of false positives. This is discussed upstream in the GCC bugzilla[1,2] but the author seems to have currently punted on handling many of these false positives and recommends a pragma-disable. Do that for the time being so that the code compiles on GCC 13.
[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108165 [2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107532
Fixes openbmc/phosphor-power#10.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie4ab428dcc8230645ee6ea3c331d8f3bbe47b9c8
show more ...
|
8c90f319 | 09-May-2023 |
Andrew Geissler <geissonator@yahoo.com> |
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in Op
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in OpenBMC had been taking advantage of in that we were able to document our templated target dependencies without it actually doing anything. The real installation of services within targets occurs in our bitbake recipes due to the complexity of chassis and host instances on a per machine basis.
Leave the dependency information in the service files but comment them out. It's useful to be able to look at a service and understand which targets it's going to be installed into by the bitbake recipes.
In some cases, we had hard coded the target instance, which does install the service correctly, but only in that one target. All services should be installed via the bitbake recipe to ensure the service is properly installed in all instances of the target. Once the bump for this commit goes into openbmc/openbmc, I will ensure the recipe is updated to install all services correctly.
Change-Id: Ie8ec6b5fabe196bac669187ce50ee3b13262c98f Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
aded7a0d | 10-May-2023 |
faisal <faisal@gfwa601.aus.stglabs.ibm.com> |
psu-ng: Retrieve PSU VPD keyword from D-Bus.
Extract PSU VPD keyword from D-Bus and assign associated string value to VPD string.
Change-Id: Iaf8112df7e388e6fd4363798c92d76f0a67e3b69 Signed-off-by:
psu-ng: Retrieve PSU VPD keyword from D-Bus.
Extract PSU VPD keyword from D-Bus and assign associated string value to VPD string.
Change-Id: Iaf8112df7e388e6fd4363798c92d76f0a67e3b69 Signed-off-by: Faisal Awada <faisal@us.ibm.com>
show more ...
|
00e1defb | 11-May-2023 |
Andrew Geissler <geissonator@yahoo.com> |
remove invalid user from OWNERS file
Occasionally I review the gerrit logs and invalid ID's cause warning log messages every time a new review is created.
Change-Id: I10f8c5010b3ce5bf030fe166a56d16
remove invalid user from OWNERS file
Occasionally I review the gerrit logs and invalid ID's cause warning log messages every time a new review is created.
Change-Id: I10f8c5010b3ce5bf030fe166a56d165cfa85b9d2 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|