e7254306 | 07-Oct-2020 |
James Feist <james.feist@linux.intel.com> |
Remove James from MAINTAINERS
Will be off the project starting Oct 9th.
Change-Id: I4381163cac947306fed9d5c611dbc5410896e64b Signed-off-by: James Feist <james.feist@linux.intel.com> |
125bce9a | 01-Oct-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
configurations: Nisqually: use CCIN
Use the Nisqually CCIN (customer card identification number) instead of the IM keyword from the system VPD. The CCIN is a more direct FRU match since it is assoc
configurations: Nisqually: use CCIN
Use the Nisqually CCIN (customer card identification number) instead of the IM keyword from the system VPD. The CCIN is a more direct FRU match since it is associated with the Nisqually board only and not the chassis in which it is installed (which is what the IM keyword signifies).
Change-Id: Id86a3b1b56080da032fcb7567d7a2795a62c9126 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
6fe729dc | 01-Oct-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
schemas: Install Intel.json schema
Forgot to add the new Intel schema file to meson.build when it was created.
Fixes: dc10828f8c1b Change-Id: I39912a11d382d34acae77fd8c36a2baf3faaedde Signed-off-by
schemas: Install Intel.json schema
Forgot to add the new Intel schema file to meson.build when it was created.
Fixes: dc10828f8c1b Change-Id: I39912a11d382d34acae77fd8c36a2baf3faaedde Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
ec98491a | 01-Oct-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
build: silence psabi notes
The fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
adds a huge amount of noise.
Change-Id: Iaf55a3878303c1c182b4b07c2ecdd8d93e116f43 Signed-off-by: Brad Bish
build: silence psabi notes
The fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
adds a huge amount of noise.
Change-Id: Iaf55a3878303c1c182b4b07c2ecdd8d93e116f43 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
55237c49 | 01-Oct-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
configurations: Add Nisqually
Nisqually is an IBM mainboard.
Change-Id: I45b724238cffe6fb7f1f8f9947fa1c2c9e9e8015 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> |
4afe7085 | 01-Oct-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
schemas: Add schema for IBMCFFPS
IBMCFFPS, or International Business Machines Common Form Factor Power Supply is an IBM power supply used on a wide range of IBM systems.
The schema associates an I2
schemas: Add schema for IBMCFFPS
IBMCFFPS, or International Business Machines Common Form Factor Power Supply is an IBM power supply used on a wide range of IBM systems.
The schema associates an I2C endpoint and a GPIO. In the entity-manager detector-configuration-reactor architecture, the daemon supporting the IBM CFFPS is both a detector and reactor. It probes the endpoints described by this schema (reactor) and publish the CFFPS FRU information (detector).
Change-Id: I9beaf1ca08701805998c5516d17e47ee88b53028 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
2a7e3954 | 02-Sep-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: additional diagnostics when decode FRU
FruDevice currently has kind of loyal policy for FRU decoding, so one can have a broken FRU but doesn't notice it. This adds more diagnostics when d
FruDevice: additional diagnostics when decode FRU
FruDevice currently has kind of loyal policy for FRU decoding, so one can have a broken FRU but doesn't notice it. This adds more diagnostics when decode FRU binary.
Tested: 1) tested with several different good FRUs 2) tested with modified FRU like: * wrong checksum in data area * no C1 in the end of area * change one of C0 to C1
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: Id703dada73eb1fa35abd531a3303b06288bd4aad
show more ...
|
d7b66599 | 13-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: try to parse Fru even it a bit broken
It was discovered that some of Delta PSUs have FRU which is not properly formatted: there was no endOfFields mark in product area. This FRU actually
FruDevice: try to parse Fru even it a bit broken
It was discovered that some of Delta PSUs have FRU which is not properly formatted: there was no endOfFields mark in product area. This FRU actually is not valid but we still can show useful information to user.
This change fixes some problems in out of area control and make decoder not fail if endOfFields was not found but all general fields are present.
Tested: tested with several different Frus
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: If5a386e3c2cb9412a13cc43cdf5a622c2250082d
show more ...
|
b32e00dc | 11-Sep-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
Add new Delta and ASPOWER PSU configs
Add configuration for ASPOWER 550W, 800W, 1200W, 1600W and Delta 1600W, 2000W PSUs
Tested: Verified with two ASPOWER U1A-D11200 and one Delta DPS-2000AB
Signe
Add new Delta and ASPOWER PSU configs
Add configuration for ASPOWER 550W, 800W, 1200W, 1600W and Delta 1600W, 2000W PSUs
Tested: Verified with two ASPOWER U1A-D11200 and one Delta DPS-2000AB
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: Iaaf62846b70312be28fab9c85dc5a56b93f214fa
show more ...
|
f54a8974 | 24-Sep-2020 |
James Feist <james.feist@linux.intel.com> |
WFT: Add fan fault LEDs
Add fault leds to config.
Change-Id: I5bd1436cbc8a137bb3f07af3ee2940c97cd8b25e Signed-off-by: James Feist <james.feist@linux.intel.com> |
dc10828f | 24-Sep-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
schemas: Intel Fan Connector
Add a proper subschema for IntelFanConnector. Remove status from legacy json because IntelFanConnector was the only user. Pwm and Tachs have other users so we can't re
schemas: Intel Fan Connector
Add a proper subschema for IntelFanConnector. Remove status from legacy json because IntelFanConnector was the only user. Pwm and Tachs have other users so we can't remove those until those classes have proper subschema.
Change-Id: Ic4f330fbcfe6ff711ff9aef3fd65d138b145303a Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
0a2ab3c9 | 22-Sep-2020 |
Ed Tanous <ed@tanous.net> |
Add maintainer
I'm happy to help where I can. I seem to be answering a lot of EM questions these days both privately and publicly.
Also, I alphabetized the list of maintainers for easier maintenan
Add maintainer
I'm happy to help where I can. I seem to be answering a lot of EM questions these days both privately and publicly.
Also, I alphabetized the list of maintainers for easier maintenance in the future.
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: If40c05bbf047df1e72ebc66347ebcc574d2981b2
show more ...
|
6cfb775b | 10-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: parse more than 2 custom fields
The current implementation supports up to two custom fileds for each FRU Area but there is no such limitation in the specification.
This adds support for
FruDevice: parse more than 2 custom fields
The current implementation supports up to two custom fileds for each FRU Area but there is no such limitation in the specification.
This adds support for unlimited number of custom fields
Tested: tested with FRU which contains three binary BOARD_INFO_AM fields
Change-Id: I6722ff6d98d27badef7a1493d67510596b6cabe9 Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com>
show more ...
|
9f0f2d11 | 19-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: use FRU Areas enum to iterate
Using integer constants more effective and simple then iterating over strings array. This change refactor code that works with FRU areas to use enum.
Tested
FruDevice: use FRU Areas enum to iterate
Using integer constants more effective and simple then iterating over strings array. This change refactor code that works with FRU areas to use enum.
Tested: verified that there is no visible changes in behavior.
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: Ic95cddbcc3301fcf49c011a603d6373852f51058
show more ...
|
43c9e2a7 | 12-Sep-2020 |
Ed Tanous <ed@tanous.net> |
Add ed as reviewer of entity manager
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I4e81b5cfab6b1982ff4ab656231e7f81e097ebb1 |
844bf77a | 12-Sep-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
meson: update nlohmann subproject to 3.7.3
Bump nlohmann to version used in OpenBMC 2.8
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: I831be642aef217ccf8c6a0abb1f93efabcd98ac7 |
32d1f0a4 | 10-Sep-2020 |
James Feist <james.feist@linux.intel.com> |
Add retries to mapper calls
During cycling we're seeing sometimes we exit due to mapper errors. Put in retries to avoid EM shutting down.
Tested: Saw retries happen and EM stay up
Change-Id: I2caa
Add retries to mapper calls
During cycling we're seeing sometimes we exit due to mapper errors. Put in retries to avoid EM shutting down.
Tested: Saw retries happen and EM stay up
Change-Id: I2caa4a7ca0ae17a621c23152b3c362442c45592e Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
1034e026 | 31-Aug-2020 |
Ed Tanous <ed@tanous.net> |
Write a slightly different type of README
This commit attempts to start to improve some of the documentation around entity manager, and give some guidence for those hoping to use it, as well as docu
Write a slightly different type of README
This commit attempts to start to improve some of the documentation around entity manager, and give some guidence for those hoping to use it, as well as document some of the goals, rather than diving directly into examples. In this commit, I simply moved the existing README.md to CONFIG_FORMAT.md, as I think there's valuable information there that I didn't want to lose. As some point I will need to do a slight "merge" of the missing information over from CONFIG_FORMAT.md, but I put this up for review first to make sure I'm on the right track here.
Tested: Spellchecked with vim. Documentation only, no functional changes.
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I07f24e9372da5c7b6c7cd60f151f53be7a752e18
show more ...
|
dfa14b5f | 31-Aug-2020 |
Ed Tanous <ed@tanous.net> |
Move config format to its own file
The existing readme seems like it's more of an examples section anyway. This commit mostly exists just to make the git history clean and clear the path. The next
Move config format to its own file
The existing readme seems like it's more of an examples section anyway. This commit mostly exists just to make the git history clean and clear the path. The next commit in this series is more important.
Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: Ia5e36e7f556abd0dd25eb43e4883347f4624403c
show more ...
|
6b3d4c59 | 10-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: improve updateFRUProperty function
updateFRUProperty function is used to write ASSET field but it pretended to be generic.
This change fixes number of issues like * wrong size check * no
FruDevice: improve updateFRUProperty function
updateFRUProperty function is used to write ASSET field but it pretended to be generic.
This change fixes number of issues like * wrong size check * no control of data overflow * erase FRU Area next to updated area * wrong handle of first/last fields in area and some other This change also implements functionality to resize FRU Area, but it is disabled by default.
Tested: Tested by setting all properties as writable ad then trying to change them using "set-property" busctl call to FruDevice.
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: Ic049bbf591878b4af344a352a2bec296e70cfb6e
show more ...
|
c994c029 | 10-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: add binary fields decoding
Binary fields are generally contains binary data, not text. This commit adds printing binary fields in HEX representation, as follows: BOARD_INFO_AM1: "00112233
FruDevice: add binary fields decoding
Binary fields are generally contains binary data, not text. This commit adds printing binary fields in HEX representation, as follows: BOARD_INFO_AM1: "00112233"
Tested: tested with Fru contains binary custom fields
Change-Id: Iaf271e54dd02e2a00167da5657857dc49b3e9734 Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com>
show more ...
|
2f0de17e | 13-Aug-2020 |
Andrei Kartashev <a.kartashev@yadro.com> |
FruDevice: some code cleanup
* Rename some variables to better represent meaning. * Replace "Fru" in fuctions/variables names to "FRU" according to OpenBMC "C++ Coding Style and Conventions" * Rep
FruDevice: some code cleanup
* Rename some variables to better represent meaning. * Replace "Fru" in fuctions/variables names to "FRU" according to OpenBMC "C++ Coding Style and Conventions" * Replace magical "8" with global named constant * Change some variables types from int to size_t
Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com> Change-Id: If492b1b7ad3ddc097a773530767c4d9c8010b3aa
show more ...
|
cd1868e8 | 28-Aug-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
entity-manager: probe: add support for bytestrings
Add support for bytestrings, and associated unit tests.
Change-Id: I1307b886494784ee3cd510351626297c43c431d6 Signed-off-by: Brad Bishop <bradleyb@
entity-manager: probe: add support for bytestrings
Add support for bytestrings, and associated unit tests.
Change-Id: I1307b886494784ee3cd510351626297c43c431d6 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
2eb946fa | 28-Aug-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
entity-manager: remove dead code
After the probe match refactor, some code is unused.
Change-Id: Ia2e2b708db17aa7a93e8a08a3260fe3af0f42b1f Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com> |
5d525413 | 26-Aug-2020 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
entity-manager: probe: Refactor matching
In a nutshell, rely on nlohmann's comparison operator to make the match instead of rolling our own. A nice side effect is the expected match behavior is wel
entity-manager: probe: Refactor matching
In a nutshell, rely on nlohmann's comparison operator to make the match instead of rolling our own. A nice side effect is the expected match behavior is well documented by nlohmann.
Code size and performance are unaffected (after removing dead code): before: 25121752 bytes unstripped, 3202608 bytes stripped after: 25146552 bytes unstripped, 3202616 bytes stripped before: ~22 seconds for 5000 iterations of the tests after: ~22 seconds for 5000 iterations of the tests
This refactor reduces the number of lines of code we need to maintain and test and increases the number of lines of code used from the extensively tested nlohmann json library.
The refactor simplifies the logic down to: return probe == value; for non-string probes. A string specialization is still required so we can pattern match.
The refactor enables support for matching non-trivial json types such as arrays and objects. New types need only be added to BasicVariantType.
There are several changed testcase expectations introduced by the refactor. Each is discussed in detail below.
- stringRegexError - boolStringError -> boolNeqString - falseEmptyError -> falseNeqEmpty - trueEmptyError -> trueNeqEmpty - uintStringError -> uintNeqString - uintEmptyError -> unitNeqEmpty - intStringError -> intNeqString - intEmptyError -> intNeqEmpty - doubleStringError -> doubleNeqString - doubleEmptyError -> doubleNeqEmpty Configuration file validation of regular expression syntax or the correct json type for a given dbus interface and property is better done by our offline validation tools. Avoid runtime complexity attempting to distinguish between user errors and probe statements that simply do not match by treating them the same and always return "no-match" instead of an invalid argument error for user error situations. stringRegexError could be an exception - there is no additional runtime complexity overhead associated with flagging it as a user error, but doing so would result in inconsistent behavior, so return no-match for it as well.
- stringZeroEqFalse -> stringZeroNeqFalse - stringOneEqTrue -> stringOneNeqTrue - stringEqUnit8 -> stringNeqUint8 - stringEqUint32 -> stringNeqUint32 - stringEqInt32 -> stringNeqInt32 - stringRegexEqInt32 -> stringRegexNeqInt32 - stringEqDouble -> stringNeqDouble Prior to this patch dbus properties are converted to strings in the event of a string probe. This works around mistakes in configuration files where the wrong json type is used but it can provide unexpected results like the probe "1" matching a true and the probe "11" matching a false, and the string "1*2" matching the number 112. Implementing the expected behavior is possible but would add complexity. For these reasons this refactor drops the string conversion and requires the user to use the correct types in their configurations.
- falseEqUint32Zero -> falseNeqUint32Zero - trueEqUint32Zero -> falseNeqUint32Zero - trueEqDoubleOne -> trueNeqDoubleOne - falseEqDoubleZero -> falseNeqDoubleZero - uintEqTrue -> uintNeqTrue - uintEqFalse -> uintNeqFalse - unitEqDoubleRound -> uintNeqDouble Prior to this patch dbus properties are coerced to unsigned integers in the event of a boolean or unsigned integer probes. Like in the previous section this can have unexpected results such as integral json types matching floats with fractional components from dbus. Again, implementing the expected behavior is possible but would add coomplexity, and again these conversions are abandoned and instead require the user to use the correct types in their configurations.
- intEqDoubleRound -> intNeqDoubleRoound - doubleEqFalse -> doubleNeqFalse - doubleEqTrue -> doubleNeqTrue Like the previous two sections, dbus properties are coerced to integers in the event of an integer probe, and dbus properties are coerced to doubles in the event of a double probe, and can result in unexpected behavior. Require the user to use the correct types in their configurations.
Change-Id: I6ce7a9c4a80d9612b15cd5e7bb4647bd96852e48 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|