#
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 ...
|
#
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 ...
|
#
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 ...
|
#
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 ...
|
#
06fca441 |
| 17-Aug-2022 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add missing dependencies
There are multiple places where the dependencies are explicitly missing & its working as of today because of the way the code was organised.
The intent behind this commit i
Add missing dependencies
There are multiple places where the dependencies are explicitly missing & its working as of today because of the way the code was organised.
The intent behind this commit is add the missing dependencies explicitly. This commit fixes : 1. common tests depends on header files in common folder, but it is not added as a dependency, fixing this by adding libpldmutils as the dependency. 2. fw-update tests depends on header files in common folder as well, but it is not added as a dependency , fixing this by adding libpldmutils as the dependency. 3. requester test code includes header files in the pldmd folder, but that is not added as a dependency as well, fixing this by adding include_directories and making it a dependency.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I102ea5096dd9edfc876fd60df7628fc061e085f2
show more ...
|
#
d169dd16 |
| 29-Jul-2021 |
Brad Bishop <bradleyb@fuzziesquirrel.com> |
meson: add missing nlohmann dependencies to tests
Without it there are build failures because the include search path is wrong in subproject mode.
Change-Id: I49ee9aab900a41ae91dccc43eccc68321f9d97
meson: add missing nlohmann dependencies to tests
Without it there are build failures because the include search path is wrong in subproject mode.
Change-Id: I49ee9aab900a41ae91dccc43eccc68321f9d973a Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
show more ...
|
#
5327988e |
| 28-Apr-2021 |
Tom Joseph <rushtotom@gmail.com> |
tests: Organize the test code to make it modular
The unit test code for libpldmresponder, host-bmc and common is in a shared test directory. This patch separates the test code to the respective dire
tests: Organize the test code to make it modular
The unit test code for libpldmresponder, host-bmc and common is in a shared test directory. This patch separates the test code to the respective directory.
Tested: Ran the unit test and tests passed.
Signed-off-by: Tom Joseph <rushtotom@gmail.com> Change-Id: I31d53681fa6c0d8bc6eb7c4e3341aaff4bc341ee
show more ...
|
#
70c7488f |
| 19-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: add wrapfile for gtest/gmock
Copy support from sdbusplus for loading googletest and gmock as a meson subproject, if it is not found in the host distribution.
Signed-off-by: Patrick Williams
build: add wrapfile for gtest/gmock
Copy support from sdbusplus for loading googletest and gmock as a meson subproject, if it is not found in the host distribution.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4aa1f6cdc97dc5db038950d81e551113463b1ffb
show more ...
|
#
3b1dc01d |
| 16-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: add wrapfiles for dependencies
Add wrapfiles for all dependencies and update meson.build files to ensure dependencies are requested in all cases. This enables out-of-bitbake/out-of-sdk builds
build: add wrapfiles for dependencies
Add wrapfiles for all dependencies and update meson.build files to ensure dependencies are requested in all cases. This enables out-of-bitbake/out-of-sdk builds for this repository and enables it to be used as a meson subproject.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0f2f7eed98f7f7555cafefc2605e1031a7f0adaf
show more ...
|
#
6f4479c7 |
| 16-Apr-2021 |
Patrick Williams <patrick@stwcx.xyz> |
build: rename dependency variable
Per [1], the conventions for dependency variables are to be named '<project or lib>_dep'. This allows consistency when using this project as a meson-subproject els
build: rename dependency variable
Per [1], the conventions for dependency variables are to be named '<project or lib>_dep'. This allows consistency when using this project as a meson-subproject elsewhere.
Switch the name from 'libpldm' to 'libpldm_dep'.
1. https://mesonbuild.com/Subprojects.html#naming-convention-for-dependency-variables
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I98c8e2148610b45755b45029d1d38206bac5b885
show more ...
|
#
aea5dde1 |
| 31-Aug-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
oem ibm: infrastructure for oem handlers
1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands.
2. This commit adds impl
oem ibm: infrastructure for oem handlers
1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands.
2. This commit adds implementation for getStateSensorReadings and setStateEffecterStates commands for oem state sets.
3. Also adds implementation for inband code update.
Change-Id: Ib38a66ee381dd06b93f6a9313d51de1c23e6ee65 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
#
001f7885 |
| 04-Jan-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove redundant dependency calls
- In the current state, the build system has too many dependency calls, because of which meson tries to find the same dependendency mutiple times & prints a tra
Remove redundant dependency calls
- In the current state, the build system has too many dependency calls, because of which meson tries to find the same dependendency mutiple times & prints a trace on the console.This would have been an ideal solution when all the subdirectories are subprojects in meson but in the current context it is not.
- Even though meson uses the cached dependency objects rather than fetching them every time, it might not give any added advantage on the performance front.
- But checking for the same dependency mutiple times gives a false impression to the users & this can be avoided by re-using the dependency objects across subdirectories.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: Ic428b2ab1897e4dc4a0024164c07fd416c927da1
show more ...
|
#
4371f2b6 |
| 09-May-2020 |
George Liu <liuxiwei@inspur.com> |
Add test for the GeneratePDRByStateSensor method
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ie53dfa61e01f8a20b785f4cd305032a965cbaac3
|
#
1521f6d1 |
| 16-Jun-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
pldmd: code re-org
Move code specific to the pldm main app to its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I9341ebb02b7fcf8f62fbbe922e1fa6fe3fbcb9ec
|
#
ac19bd68 |
| 16-Jun-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
host-bmc: code re-org
Move code specific to Host BMC PLDM communication into its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I0a88874bdccfe6cd71099ff41b8b5c65491
host-bmc: code re-org
Move code specific to Host BMC PLDM communication into its own directory.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I0a88874bdccfe6cd71099ff41b8b5c654915316d
show more ...
|
#
250c4754 |
| 15-Apr-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
pldmd: D-Bus to host effecter translation
This commit implements a mechanism to move the Host's boot state from 'not started' to 'boot complete' by setting the relevant Host effecter when the associ
pldmd: D-Bus to host effecter translation
This commit implements a mechanism to move the Host's boot state from 'not started' to 'boot complete' by setting the relevant Host effecter when the associated D-Bus property is set in the BMC.
Also added an example JSON to match D-Bus to host effecters
Change-Id: I41025d99d2b4b3452d4c51b03efe3750e159328b Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
#
456c9a2f |
| 12-Jan-2020 |
George Liu <liuxiwei@inspur.com> |
pldm: Add parsing JSON for Numeric Effecter PDR
According to spec DSP0248_1.2.0: 28.11 and effecter_pdr.json, parse JSON and generate PDR structure.
In addition: 1. move the parsing generateNumeri
pldm: Add parsing JSON for Numeric Effecter PDR
According to spec DSP0248_1.2.0: 28.11 and effecter_pdr.json, parse JSON and generate PDR structure.
In addition: 1. move the parsing generateNumericEffecterHandler method to pdr_numeric_effecter_pdr.hpp. 2. test/libpldmresponder_pdr_state_effecter_test.cpp renamed test/libpldmresponder_pdr_effecter_test.cpp.
Tested with JSON files: https://gist.github.com/lxwinspur/2c3fd68cdb35e06480c4a5f7890e3a06#file-effecter_pdr-json.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I4254a14f0fd5e33b312f65c15c9a23437e28d341
show more ...
|
#
8cb6f665 |
| 10-Apr-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
event: Handling pldmPDRRepositoryChgEvent
Added a handler to react to the "pldmPDRRepositoryChgEvent" event and extract the data. If the eventDataFormat is "formatIsPDRHandles" then the changeRecord
event: Handling pldmPDRRepositoryChgEvent
Added a handler to react to the "pldmPDRRepositoryChgEvent" event and extract the data. If the eventDataFormat is "formatIsPDRHandles" then the changeRecords are further extracted. If the eventDataOperation is "recordAdded" then the PDRHandles are extracted from the changeEntry data and stored in the "pdrRecordHandle" vector.
"decode_pldm_pdr_repository_chg_event_data" function will extract the eventData and changeRecord from the pldmPDRRepositoryChgEvent class while the "decode_pldm_pdr_repository_change_record_data" will extract the changeEntries data from the changeRecord. Unit tests for the above decode functions have been added.
Extracted PDR handles are used to fetch PDRs corresponding to the same from the host.
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com> Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: I32e8745e04ac82393e067c0f0ab48802809495a6
show more ...
|
#
51efaf87 |
| 02-Apr-2020 |
Pavithra Barithaya <pbaritha@in.ibm.com> |
Add HostPDRHandler class
HostPDRHandler has an API to fetch PDRs from the host.
The class HostPDRHandler has a function fetchPDR which basically calls GetPDR on the host using libpldm's pldm_send_r
Add HostPDRHandler class
HostPDRHandler has an API to fetch PDRs from the host.
The class HostPDRHandler has a function fetchPDR which basically calls GetPDR on the host using libpldm's pldm_send_recv API.
The retrieved PDRs are stored in the BMCs primary PDR repo.
Change-Id: Ifd727316caf37d49f17e117b32ee105f6d941e0e Signed-off-by: Pavithra Barithaya <pbaritha@in.ibm.com> Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
show more ...
|
#
3be7085e |
| 13-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSEnumAttribute
Implement BIOSEnumAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for enum attribute
Signed-off-b
bios: Implement BIOSEnumAttribute
Implement BIOSEnumAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for enum attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ia6230485fd2d6d05f9f2ddb3a80b81f6556aee9f
show more ...
|
#
95e6b3c1 |
| 12-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSIntegerAttribute
Implement BIOSIntegerAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for integer attribute
Sig
bios: Implement BIOSIntegerAttribute
Implement BIOSIntegerAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for integer attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I57d5b5dbcb74f9a404f5133426208f4c6851dea2
show more ...
|
#
d965934f |
| 27-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSConfig
Load the parsed json configs into memory. And provid APIs to get/set on bios tables.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ida1fedc923d31afc61dd2d4aec
bios: Implement BIOSConfig
Load the parsed json configs into memory. And provid APIs to get/set on bios tables.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ida1fedc923d31afc61dd2d4aec70d81bb6a90ae9
show more ...
|
#
29683b53 |
| 27-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSStringAttribute
Implement BIOSStringAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for string attribute
Signed
bios: Implement BIOSStringAttribute
Implement BIOSStringAttribute, most of the code is copied from bios/bios_parser.cpp.
Implement SetAttrValueOnDbus and constructEntry for string attribute
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: Ic7c6b35d32738d698d7649f97cb7843606b8a2ba
show more ...
|
#
e2efdcce |
| 12-Feb-2020 |
John Wang <wangzqbj@inspur.com> |
bios: Implement BIOSAttribute
BIOS tables are built based on json entry. When a bios attribute is set by pldm, the corresponding dbus backend should be synchronized.
Then, the BIOSAttribute class i
bios: Implement BIOSAttribute
BIOS tables are built based on json entry. When a bios attribute is set by pldm, the corresponding dbus backend should be synchronized.
Then, the BIOSAttribute class is abstracted, and it provides the following two interfaces
1. constructEntry: Construct the entry of the attribute/attribute-value table 2. setAttrValueOnDbus: Update the corresponding dbus backend
Specific types of attributes are implemented based on BIOSAttribute. eg BIOSStringAttribute, BIOSEnumAttribute, BIOSIntegerAttribute.
Once the BIOS Handler is loaded, all attributes would be constructed from json. We use BIOSConfig(class) to persist all attributes in ram.
BIOSConfig provides the following methods.
- buildTables: Build tables - removeTables: Remove the persistent tables - setAttrValue: Set attribute value on dbus and update the bios table - getBIOSTable: Get bios table by table type
After we implemented BIOSConfig/BIOSSIntegerAttribute/BIOSStringAttribute/BIOSEnumAttribute, we will use the new interface(BIOSConfig) in BIOS Handler.
It will have the following advantages
1. Different types of attribute implementations are placed in different files, improving readability 2. Logic to operate bios tables is no longer coupled with BIOS Handler.
In addition, added a c++ wrapper for string table. After completing this refactor, will move the implementation to a common place. It's useful for pldmtool.
Signed-off-by: John Wang <wangzqbj@inspur.com> Change-Id: I11e304c470360ca5fde23e4969494bb03de475c0
show more ...
|