History log of /openbmc/pldm/host-bmc/test/meson.build (Results 1 – 25 of 25)
Revision Date Author Comments
# 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 ...


# 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 ...


# 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 ...


# 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 ...


# 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 ...


# b40f4f8f 06-Jun-2024 Archana Kakani <archana.kakani@ibm.com>

pldm: Implement Cable interface

Adding support to host Cable dbus interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
The Cable i

pldm: Implement Cable interface

Adding support to host Cable dbus interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
The Cable interface is defined at [1].

[1]: https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Inventory/Item/Cable.interface.yaml

Change-Id: I23f02387c1d50ce8d9c5921760740760cea2cd47
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# 733b39da 05-Jun-2024 Archana Kakani <archana.kakani@ibm.com>

pldm: Implement PCIeDevice interface

Adding support to host PCIeDevice dbus interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
T

pldm: Implement PCIeDevice interface

Adding support to host PCIeDevice dbus interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
The PCIe Device 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/PCIeDevice.interface.yaml

Change-Id: I69472efef33c3ad030ba4c831f07f60833b2c40b
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# bf1fd27b 05-Jun-2024 Archana Kakani <archana.kakani@ibm.com>

pldm: Implement PCIeSlot interface

Adding support to host dbus PCIeSlot interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
The S

pldm: Implement PCIeSlot interface

Adding support to host dbus PCIeSlot interface.
Based on the PDRs received from remote PLDM terminus,
PLDM hosts the dbus interface based on the entity type.
The Slot 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/PCIeSlot.interface.yaml

Change-Id: I98db6c31ddcb35e5c124d060c4ee0ab0f8819e72
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>

show more ...


# 56da5740 23-May-2024 Kamalkumar Patel <kamalkumar.patel@ibm.com>

Adding CPUCore interface support

This commit introduces essential D-Bus infrastructure support for
hosting the `Item.CPUCore` D-Bus object. Additionally, it includes
getter and setter functions to e

Adding CPUCore interface support

This commit introduces essential D-Bus infrastructure support for
hosting the `Item.CPUCore` D-Bus object. Additionally, it includes
getter and setter functions to enable get/set properties within the
`CPUCore` interface, such as core count and microcode.

Testing:
Unit test passed

Change-Id: I728522b34e96ee7d6609efb5746b40cf923812e8
Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>

show more ...


# 14107a10 19-Jun-2024 Kamalkumar Patel <kamalkumar.patel@ibm.com>

host-bmc: migrate dbus hosting logic into dbus folder

This commit aims at migrating the custom_dbus files from the host_bmc
directory to the host-bmc/dbus directory. This makes the code cleaner
sinc

host-bmc: migrate dbus hosting logic into dbus folder

This commit aims at migrating the custom_dbus files from the host_bmc
directory to the host-bmc/dbus directory. This makes the code cleaner
since it abstracts all the dbus objects hosting code to the dbus folder

Change-Id: Ia310e8a16f9489060ef228496d364c602a4fa6a8
Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>

show more ...


# 7d427f16 16-May-2024 Kamalkumar Patel <kamalkumar.patel@ibm.com>

pldm: Rearranging datatype declaration

This commit adds support to eliminating duplication of datatypes which
enhancing clarity and manageability throughout the pldm repository.
This is rearrangemen

pldm: Rearranging datatype declaration

This commit adds support to eliminating duplication of datatypes which
enhancing clarity and manageability throughout the pldm repository.
This is rearrangement of declaration of data types so it can be used
host-bmc and oem layer both the places.

Change-Id: Ieb1232884b8e2128e8bf97dafd01e4ad5524ede0
Signed-off-by: Kamalkumar Patel <kamalkumar.patel@ibm.com>

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 ...


# 4e69d252 10-May-2024 Kamalkumar Patel <kamalkumar.patel@ibm.com>

host-bmc: refine remote terminus functionality

This commit introduces support for migrating remote terminus-related
functionalities into the host-bmc directory, a move aimed at optimizing
remote ter

host-bmc: refine remote terminus functionality

This commit introduces support for migrating remote terminus-related
functionalities into the host-bmc directory, a move aimed at optimizing
remote terminus operations for future endeavors. By consolidating these
functionalities, tracking and implementing future enhancements become
more streamlined and manageable.

Change-Id: I52b6ced7acacb004b6055ae710193a959d986659
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 ...


# 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 ...


# 682ee18c 25-Dec-2020 George Liu <liuxiwei@inspur.com>

Handle FRU records from host

- Get FRU record table from host and traverse the entity structure
from the FRU record set PDR, and create D-Bus object.

- When the FRU field type is a PLDM_OEM_FRU_F

Handle FRU records from host

- Get FRU record table from host and traverse the entity structure
from the FRU record set PDR, and create D-Bus object.

- When the FRU field type is a PLDM_OEM_FRU_FIELD_TYPE_LOCATION_CODE
, the location code is used to populate the
xyz.openbmc_project.Inventory.Decorator.LocationCode D-Bus
interface for the corresponding FRU.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I482c4d371f76b4881109ef420dfd9543e1aa810b

show more ...


# df9a6d34 22-Dec-2020 George Liu <liuxiwei@inspur.com>

Handle entity association records from host

- Get the PDRs from host, traverse the entity association structure
and construct the D-Bus object path according to the entity type ID
and container

Handle entity association records from host

- Get the PDRs from host, traverse the entity association structure
and construct the D-Bus object path according to the entity type ID
and container type ID.

- eg:
/xyz/openbmc_project/inventory/system1/chassis1/io_board1/powersupply1
/xyz/openbmc_project/inventory/system1/chassis1/io_board1/powersupply2
/xyz/openbmc_project/inventory/system1/chassis2/io_board2/powersupply1
/xyz/openbmc_project/inventory/system1/chassis2/io_board2/powersupply2

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I1c606ea943624f2601be4f5f6b5c30d1bf71cd11

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 ...


# 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 ...


# c0c79481 02-Jun-2021 Sampa Misra <sampmisr@in.ibm.com>

implement async handlers for all requester commands

this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to
convert the existing blocking requester commands in pldm to async
ones.
this

implement async handlers for all requester commands

this commit makes use of 74f27c730ef3925a0f2a3adfaa04f8790f931372 to
convert the existing blocking requester commands in pldm to async
ones.
this is tested with Host code and seems to work fine

Change-Id: I8d4762c3cd5bce49f854b30f8325bfcd1dcb4ff9
Signed-off-by: Sampa Misra <sampmisr@in.ibm.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 ...