History log of /openbmc/pldm/pldmd/ (Results 51 – 75 of 102)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c453e16421-Dec-2022 George Liu <liuxiwei@inspur.com>

libpldm: Correct reference to libpldm header files

When relying on header files from external libraries, #include<> should
be used instead of #include "" to avoid ambiguity.

Tested: Built pldm succ

libpldm: Correct reference to libpldm header files

When relying on header files from external libraries, #include<> should
be used instead of #include "" to avoid ambiguity.

Tested: Built pldm successfully after enabling ibm-oem

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

show more ...


/openbmc/pldm/.gitignore
/openbmc/pldm/.linter-ignore
/openbmc/pldm/README.md
/openbmc/pldm/common/bios_utils.hpp
/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/events/stateSensorPdrs.json
/openbmc/pldm/configurations/fru_master.json
/openbmc/pldm/configurations/host/dbus_to_host_effecter.json
/openbmc/pldm/configurations/host/host_frus.json
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/configurations/pdr/4.json
/openbmc/pldm/fw-update/device_updater.cpp
/openbmc/pldm/fw-update/inventory_manager.cpp
/openbmc/pldm/fw-update/inventory_manager.hpp
/openbmc/pldm/fw-update/manager.hpp
/openbmc/pldm/fw-update/package_parser.cpp
/openbmc/pldm/fw-update/package_parser.hpp
/openbmc/pldm/fw-update/test/device_updater_test.cpp
/openbmc/pldm/fw-update/test/inventory_manager_test.cpp
/openbmc/pldm/fw-update/update_manager.hpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.cpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.hpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/host-bmc/test/host_effecter_jsons/good/dbus_to_host_effecter.json
/openbmc/pldm/libpldmresponder/base.cpp
/openbmc/pldm/libpldmresponder/base.hpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/bios.hpp
/openbmc/pldm/libpldmresponder/bios_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_config.cpp
/openbmc/pldm/libpldmresponder/bios_config.hpp
/openbmc/pldm/libpldmresponder/bios_table.cpp
/openbmc/pldm/libpldmresponder/bios_table.hpp
/openbmc/pldm/libpldmresponder/examples/bios/enum_attrs.json
/openbmc/pldm/libpldmresponder/examples/bios/integer_attrs.json
/openbmc/pldm/libpldmresponder/examples/bios/string_attrs.json
/openbmc/pldm/libpldmresponder/examples/effecter/dbus_to_host_effecter.json
/openbmc/pldm/libpldmresponder/examples/events/event_state_sensor.json
/openbmc/pldm/libpldmresponder/examples/fru/Board_General.json
/openbmc/pldm/libpldmresponder/examples/fru/Board_VINI.json
/openbmc/pldm/libpldmresponder/examples/fru/Cpu_General.json
/openbmc/pldm/libpldmresponder/examples/fru/FRU_Master.json
/openbmc/pldm/libpldmresponder/examples/fru/host_frus.json
/openbmc/pldm/libpldmresponder/examples/pdr/effecter_pdr.json
/openbmc/pldm/libpldmresponder/examples/pdr/sensor_pdr.json
/openbmc/pldm/libpldmresponder/fru.cpp
/openbmc/pldm/libpldmresponder/fru.hpp
/openbmc/pldm/libpldmresponder/pdr_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_sensor.hpp
/openbmc/pldm/libpldmresponder/pdr_utils.cpp
/openbmc/pldm/libpldmresponder/pdr_utils.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/platform_state_effecter.hpp
/openbmc/pldm/libpldmresponder/platform_state_sensor.hpp
/openbmc/pldm/libpldmresponder/test/bios_jsons/enum_attrs.json
/openbmc/pldm/libpldmresponder/test/bios_jsons/integer_attrs.json
/openbmc/pldm/libpldmresponder/test/bios_jsons/string_attrs.json
/openbmc/pldm/libpldmresponder/test/event_jsons/good/event_state_sensor.json
/openbmc/pldm/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
/openbmc/pldm/libpldmresponder/test/fru_jsons/good/Board_General.json
/openbmc/pldm/libpldmresponder/test/fru_jsons/good/Board_VINI.json
/openbmc/pldm/libpldmresponder/test/fru_jsons/good/Cpu_General.json
/openbmc/pldm/libpldmresponder/test/fru_jsons/good/FRU_Master.json
/openbmc/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_effecter/good/effecter_pdr.json
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_sensor/good/sensor_pdr.json
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/integer_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/string_attrs.json
/openbmc/pldm/oem/ibm/configurations/events/oem_ibm_event_state_sensor.json
/openbmc/pldm/oem/ibm/configurations/fileTable.json
/openbmc/pldm/oem/ibm/configurations/fru/Battery_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Bmc_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Bmc_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Bmc_VR10.json
/openbmc/pldm/oem/ibm/configurations/fru/Bmc_VW10.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_VCEN.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Connector_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/DiskBackplane_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/DiskBackplane_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Fan_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Fan_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_DINF.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_LXR0.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VCEN.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VSYS.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeDevice_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeDevice_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeSlot_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Panel_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Panel_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/PowerSupply_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PowerSupply_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/System_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/System_VSYS.json
/openbmc/pldm/oem/ibm/configurations/fru/Tpm_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Tpm_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Vrm_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Vrm_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru_master.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_dump.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_table.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_table.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/utils.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
dbus_impl_pdr.cpp
dbus_impl_pdr.hpp
handler.hpp
invoker.hpp
pldmd.cpp
/openbmc/pldm/pldmtool/README.md
/openbmc/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
/openbmc/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
/openbmc/pldm/pldmtool/pldm_base_cmd.cpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.hpp
/openbmc/pldm/pldmtool/pldm_fru_cmd.cpp
/openbmc/pldm/pldmtool/pldm_fw_update_cmd.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/requester/README.md
/openbmc/pldm/requester/handler.hpp
/openbmc/pldm/requester/mctp_endpoint_discovery.cpp
/openbmc/pldm/requester/request.hpp
/openbmc/pldm/requester/test/handler_test.cpp
/openbmc/pldm/requester/test/request_test.cpp
/openbmc/pldm/softoff/softoff.cpp
/openbmc/pldm/softoff/softoff.hpp
/openbmc/pldm/subprojects/libpldm.wrap
/openbmc/pldm/test/pldmd_registration_test.cpp
/openbmc/pldm/tools/fw-update/README.md
/openbmc/pldm/tools/fw-update/metadata-example.json
/openbmc/pldm/tools/fw-update/pldm_fwup_pkg_creator.py
/openbmc/pldm/tools/visualize-pdr/README.md
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
/openbmc/pldm/utilities/requester/set_state_effecter.cpp
/openbmc/pldm/utilities/requester/set_state_effecter_async.cpp
f25145fb10-Sep-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix pldmd verbosity command line argument

This commit would attempt to fix the command line argument --verbose.

The fact that verbose option requires an argument 0 or 1 is not
particularly intuitiv

Fix pldmd verbosity command line argument

This commit would attempt to fix the command line argument --verbose.

The fact that verbose option requires an argument 0 or 1 is not
particularly intuitive and a documented OpenBMC anti-pattern.

https://github.com/openbmc/docs/blob/master/anti-patterns.md#non-standard-debug-application-options-and-logging

Resolves : https://github.com/openbmc/pldm/issues/7
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I50d82ce492bd815b589627d3713b1a7fc1db997b

show more ...


/openbmc/pldm/README.md
/openbmc/pldm/common/test/meson.build
/openbmc/pldm/configurations/events/stateSensorPdrs.json
/openbmc/pldm/fw-update/test/meson.build
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/libpldm/base.c
/openbmc/pldm/libpldm/base.h
/openbmc/pldm/libpldm/meson.build
/openbmc/pldm/libpldm/oem/ibm/libpldm/entity_oem_ibm.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/file_io.c
/openbmc/pldm/libpldm/oem/ibm/libpldm/file_io.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/fru.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/host.c
/openbmc/pldm/libpldm/oem/ibm/libpldm/host.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/platform_oem_ibm.c
/openbmc/pldm/libpldm/oem/ibm/libpldm/platform_oem_ibm.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/state_set_oem_ibm.h
/openbmc/pldm/libpldm/oem/ibm/libpldm/tests/libpldm_fileio_test.cpp
/openbmc/pldm/libpldm/oem/ibm/libpldm/tests/libpldm_host_test.cpp
/openbmc/pldm/libpldm/tests/libpldm_base_test.cpp
/openbmc/pldm/libpldm/tests/meson.build
/openbmc/pldm/libpldmresponder/bios_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_config.hpp
/openbmc/pldm/libpldmresponder/bios_table.cpp
/openbmc/pldm/libpldmresponder/meson.build
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/libpldmresponder/platform_state_sensor.hpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/fileTable.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_VCEN.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VCEN.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_by_type.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
/openbmc/pldm/oem/ibm/service_files/meson.build
/openbmc/pldm/oem/ibm/service_files/pldm-create-phyp-nvram-cksum.service
/openbmc/pldm/oem/ibm/service_files/pldm-create-phyp-nvram.service
/openbmc/pldm/oem/ibm/service_files/scripts/create-NVRAM-cksum-file
/openbmc/pldm/oem/ibm/service_files/scripts/create-NVRAM-file
/openbmc/pldm/oem/ibm/service_files/scripts/meson.build
pldmd.cpp
service_files/pldmd.service
/openbmc/pldm/requester/test/meson.build
/openbmc/pldm/test/meson.build
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
84b790cb22-Jul-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are

sdbusplus: use shorter type aliases

The sdbusplus headers provide shortened aliases for many types.
Switch to using them to provide better code clarity and shorter
lines. Possible replacements are for:
* bus_t
* exception_t
* manager_t
* match_t
* message_t
* object_t
* slot_t

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I8e2242adb79be342562c9b7f3d2153dfdf578085

show more ...

5e8aee7220-Jul-2022 Joe Komlodi <komlodi@google.com>

pldmd: Make CmdHandler have a virtual destructor

Other handlers inherit from this, so this destructor needs to be virtual
to avoid a new/delete size mismatch.

Signed-off-by: Joe Komlodi <komlodi@go

pldmd: Make CmdHandler have a virtual destructor

Other handlers inherit from this, so this destructor needs to be virtual
to avoid a new/delete size mismatch.

Signed-off-by: Joe Komlodi <komlodi@google.com>
Change-Id: I29f88869a17be22eeb740fe5ee192f28557fc187

show more ...

ca1998f306-Jun-2022 Manojkiran Eda <manojkiran.eda@gmail.com>

update clang-format

This commit would update the repo's clang-format file to
the latest of docs/style/cpp/clang-format file.

Following is the new change that is added:
Brad :
clang-format: cpp: r

update clang-format

This commit would update the repo's clang-format file to
the latest of docs/style/cpp/clang-format file.

Following is the new change that is added:
Brad :
clang-format: cpp: remove empty lines

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Ieaadd8a1cd779c9c12adf6d065cc1f9e9a8fa37b

show more ...


/openbmc/pldm/.clang-format
/openbmc/pldm/common/flight_recorder.hpp
/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/fw-update/manager.hpp
/openbmc/pldm/fw-update/update_manager.cpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.cpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/bios_integer_attribute.cpp
/openbmc/pldm/libpldmresponder/fru.cpp
/openbmc/pldm/libpldmresponder/fru.hpp
/openbmc/pldm/libpldmresponder/fru_parser.cpp
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/meson.build
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/integer_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/string_attrs.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_VCEN.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VCEN.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/utils.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/oem/ibm/pldm_oem_ibm.cpp
/openbmc/pldm/pldmtool/pldm_base_cmd.cpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.hpp
/openbmc/pldm/pldmtool/pldmtool.cpp
/openbmc/pldm/requester/handler.hpp
/openbmc/pldm/softoff/services/pldmSoftPowerOff.service
/openbmc/pldm/subprojects/stdplus.wrap
357b72dc13-Apr-2022 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: object: don't use 'bool' argument constructor

`sdbusplus::server::object_t` has long had an enum-based parameter for
signal action, but maintained a backwards compatible boolean mapping.

sdbusplus: object: don't use 'bool' argument constructor

`sdbusplus::server::object_t` has long had an enum-based parameter for
signal action, but maintained a backwards compatible boolean mapping.
It is time to remove this boolean to make it more observable which
actions are being used in applications. Map all `true` occurrences to
`action::defer_emit`. There was one case of an implicit conversion
from a pointer to a boolean, which I think was an unintended parameter
passing, and was cleaned up.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I5eac859a083e014f13794703c1c194e7f3d2a35d

show more ...

ef77305928-Jul-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

In-Memory FlightRecorder support for pldmd

pldm daemon in BMC can act both as a requester and
responder, and it is capable of talking to any device
that talks pldm spec.

With the rapid increase in

In-Memory FlightRecorder support for pldmd

pldm daemon in BMC can act both as a requester and
responder, and it is capable of talking to any device
that talks pldm spec.

With the rapid increase in the number of commands supported
by pldmd, and also with the async request/response support
enabled, its becomes extremely tough to debug the failures
in the communication.

And most of times, the essential information that is needed
to debug are the last few commands that BMC pldm responded to.
So this commit is an attempt to bring in an in-memory flight
recorder that could save the last 10(can be configurable)
pldm transactions in a circular buffer, and dumps the contents
of it into a file when it receives a SIGUR1 signal.

Resolves openbmc/pldm#24

Tested By :

1. Power on host
2. In the middle of poweron, send the SIGUSR1 signal to pldmd

root@rain118bmc:/tmp# kill -10 836
Received SIGUR1(10) Signal interrupt
root@rain118bmc:/tmp# Dumping the flight recorder into /tmp/pldm_flight_recorder

3. Make sure pldmd is not killed and does the rest of the power on
operation.

4. check the contents of /tmp/pldm_flight_recorder
root@p10bmc:~# cat /tmp/pldm_flight_recorder
UTC Nov 05 / 11:27:25.334606 : Tx :
0a 3f 0d 00
UTC Nov 05 / 11:27:26.292988 : Rx :
09 01 8b 3f 0d 00 00 7b 1e 00 50 00
UTC Nov 05 / 11:27:26.296915 : Tx :
0b 3f 0d 00
UTC Nov 05 / 11:27:27.250999 : Rx :
09 01 8c 3f 0d 00 00 7c 1e 00 50 00
UTC Nov 05 / 11:27:27.254762 : Tx :
0c 3f 0d 00
UTC Nov 05 / 11:27:28.212168 : Rx :
09 01 8d 3f 0d 00 00 7d 1e 00 50 00
UTC Nov 05 / 11:27:28.216086 : Tx :
0d 3f 0d 00
UTC Nov 05 / 11:27:29.171228 : Rx :
09 01 8e 3f 0d 00 00 7e 1e 00 50 00
UTC Nov 05 / 11:27:29.175143 : Tx :
0e 3f 0d 00
UTC Nov 05 / 11:27:25.330716 : Rx :
09 01 8a 3f 0d 00 00 7a 1e 00 50 00

5. Configure with -Dflightrecorder-max-entries=0
root@p10bmc:~# kill -10 21847
Received SIGUR1(10) Signal interrupt
Fight recorder policy is disabled

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I4e9c828f4ada9f1db6bf3a9b68c16e71b6e5d8f0

show more ...

9fffea2c27-Oct-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Change the send Buffer size dynamically

On a Linux system the send buffer size has defaulted
to around 90k, and when a pldm message is sent via
the pldm_send() that is bigger than 90k, we get an err

Change the send Buffer size dynamically

On a Linux system the send buffer size has defaulted
to around 90k, and when a pldm message is sent via
the pldm_send() that is bigger than 90k, we get an error
ENOBUFS (No buffer space avilable).

This commit would dynamically change the socket parameter
(SO_SNDBUF) to set the new maximum socket send buffer size
so that we can successfully send the message.

Tested By:

1. hard coded the current buffer size value to 10 and forced
the buffer size to be increase for mutiple commands & was able
to power on the host with out any problems.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I5f7a3948ea019b4dc983cf5e1926cfc128c02084

show more ...


/openbmc/pldm/.clang-format
/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/fru_master.json
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/configurations/pdr/4.json
/openbmc/pldm/fw-update/device_updater.cpp
/openbmc/pldm/fw-update/device_updater.hpp
/openbmc/pldm/fw-update/test/device_updater_test.cpp
/openbmc/pldm/fw-update/test/inventory_manager_test.cpp
/openbmc/pldm/fw-update/test/meson.build
/openbmc/pldm/fw-update/update_manager.cpp
/openbmc/pldm/fw-update/update_manager.hpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/libpldm/fru.c
/openbmc/pldm/libpldm/fru.h
/openbmc/pldm/libpldm/meson.build
/openbmc/pldm/libpldm/platform.c
/openbmc/pldm/libpldm/platform.h
/openbmc/pldm/libpldm/tests/libpldm_platform_test.cpp
/openbmc/pldm/libpldmresponder/base.cpp
/openbmc/pldm/libpldmresponder/bios_config.cpp
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/meson.build
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/integer_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/string_attrs.json
/openbmc/pldm/oem/ibm/configurations/fru/Fan_VINI.json
/openbmc/pldm/oem/ibm/libpldm/entity_oem_ibm.h
/openbmc/pldm/oem/ibm/libpldm/state_set_oem_ibm.h
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/meson.build
/openbmc/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_fw_update_cmd.cpp
/openbmc/pldm/pldmtool/pldm_fw_update_cmd.hpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/pldmtool/pldmtool.cpp
/openbmc/pldm/requester/handler.hpp
/openbmc/pldm/requester/request.hpp
/openbmc/pldm/requester/test/handler_test.cpp
/openbmc/pldm/requester/test/mock_request.hpp
/openbmc/pldm/requester/test/request_test.cpp
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
fb3bc06f17-Aug-2021 Tom Joseph <rushtotom@gmail.com>

fw-update: Firmware discovery of MCTP endpoints

Tested:

a) Verified MCTP endpoints are discovered by PLDM and fetching the firmware
inventory commands.
b) PLDM firmware update successful after u

fw-update: Firmware discovery of MCTP endpoints

Tested:

a) Verified MCTP endpoints are discovered by PLDM and fetching the firmware
inventory commands.
b) PLDM firmware update successful after uploading the package, which depends
on the firmware inventory commands.
c) Verified MCTP endpoints are discovered irrespective of the startup order
with the MCTP control application.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I7ee9aed40433a8e5a4ebb8e61f917ec82dde9c35

show more ...


/openbmc/pldm/common/types.hpp
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/configurations/pdr/4.json
/openbmc/pldm/fw-update/activation.hpp
/openbmc/pldm/fw-update/device_updater.cpp
/openbmc/pldm/fw-update/device_updater.hpp
/openbmc/pldm/fw-update/inventory_manager.cpp
/openbmc/pldm/fw-update/inventory_manager.hpp
/openbmc/pldm/fw-update/manager.hpp
/openbmc/pldm/fw-update/package_parser.cpp
/openbmc/pldm/fw-update/package_parser.hpp
/openbmc/pldm/fw-update/test/device_updater_test.cpp
/openbmc/pldm/fw-update/test/inventory_manager_test.cpp
/openbmc/pldm/fw-update/test/meson.build
/openbmc/pldm/fw-update/test/package_parser_test.cpp
/openbmc/pldm/fw-update/test/test_pkg
/openbmc/pldm/fw-update/update_manager.cpp
/openbmc/pldm/fw-update/update_manager.hpp
/openbmc/pldm/fw-update/watch.cpp
/openbmc/pldm/fw-update/watch.hpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/libpldm/firmware_update.c
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/bios/integer_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/string_attrs.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/requester/mctp_endpoint_discovery.cpp
/openbmc/pldm/requester/mctp_endpoint_discovery.hpp
/openbmc/pldm/tools/fw-update/pldm_fwup_pkg_creator.py
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
c80f3efa07-Oct-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

pldmd: make invalid cmdline arguments cause exit

These invalid invocations will print the usage message but the program
will run anyway:
pldmd -v 2
pldmd -z

Running pldmd with no arguments is s

pldmd: make invalid cmdline arguments cause exit

These invalid invocations will print the usage message but the program
will run anyway:
pldmd -v 2
pldmd -z

Running pldmd with no arguments is supported and valid but the usage
message is shown.

The expected behavior when an application is invoked with invalid
arguments is that the program will exit. The expected behavior when an
application is invoked with valid arguments is that it will not print
any error messages. Fix the argument parsing code so it matches
expectations.

Change-Id: Iaa38fd0bfb1d1597ff44996f88e8cc0081df306a
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...

fc0d14df12-Oct-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

pldmd: move DbusHandler to stack

The usual reasons for heap allocations are:

- object lifetime requirements
- large size requirements
- allocation failure handling requirements

DBusHandler has non

pldmd: move DbusHandler to stack

The usual reasons for heap allocations are:

- object lifetime requirements
- large size requirements
- allocation failure handling requirements

DBusHandler has none of these requirements, so putting the allocation on
the heap is unexpected and confusing to first-time readers of the code.
Moving the allocation to the stack also produces a smaller binary (sizes
shown are compressed, with default meson options and gcc 11.1):

before: 4513544
after: 4497928

Change-Id: I34569e8d311818cb36f1dedde415c776d8730113
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...

31a7844712-Sep-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix issues reported by static analysis tool

Following are the issues reported by the clang static
analysis tool in the CI, this commit is an attempt to
fix those.
1. warning: Value stored to 'rc' du

Fix issues reported by static analysis tool

Following are the issues reported by the clang static
analysis tool in the CI, this commit is an attempt to
fix those.
1. warning: Value stored to 'rc' during its initialization
is never read [deadcode.DeadStores]
auto rc = getHostState();
2. warning: Branch condition evaluates to a garbage
value [core.uninitialized.Branch]
if (!pdr)
3. warning: Value stored to 'type' during its initialization
is never read [deadcode.DeadStores]
uint8_t type = requestMsg[1];
4. warning: Value stored to 'sum' during its initialization
is never read [deadcode.DeadStores]
auto sum = crc32(fruData.data(), recordTableSize + pads);
5. warning: Value stored to 'responsePtr' during its initialization
is never read [deadcode.DeadStores]
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I0673403a36c90025afd0f2b1bca1d7f3ea052033

show more ...

3a22b97a07-Oct-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

pldmd: clean up exit logic

The event loop exit status is not checked. Save the event loop exit
return code so that the daemon can exit with the correct status. If the
event loop shuts down cleanly

pldmd: clean up exit logic

The event loop exit status is not checked. Save the event loop exit
return code so that the daemon can exit with the correct status. If the
event loop shuts down cleanly, an exit status of zero should be returned
to prevent undesired application restarts by an init manager (systemd).
If the event loop is terminated from within because of an error, the
daemon should exit with a non-zero status so it is restarted by an init
manager.

Do not exit with non-zero status for a socket shutdown error. This will
cause an init manager to restart the application even when the event
loop shuts down cleanly.

Change-Id: Ib756978af2ca40dcfd3e54055c8d6bcafd374506
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


/openbmc/pldm/OWNERS
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/configurations/events/stateSensorPdrs.json
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/configurations/pdr/4.json
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/libpldm/bios_table.c
/openbmc/pldm/libpldmresponder/base.cpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/bios_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_config.cpp
/openbmc/pldm/libpldmresponder/bios_enum_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_integer_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_string_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_table.cpp
/openbmc/pldm/libpldmresponder/fru.cpp
/openbmc/pldm/libpldmresponder/oem_handler.hpp
/openbmc/pldm/libpldmresponder/pdr.hpp
/openbmc/pldm/libpldmresponder/pdr_state_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_sensor.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.json
/openbmc/pldm/oem/ibm/configurations/bios/integer_attrs.json
/openbmc/pldm/oem/ibm/libpldm/state_set.h
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
79669c9428-Apr-2021 Sagar Srinivas <sagar.srinivas@ibm.com>

oem_ibm: Reset Watchdog Timer

The watchdog timer is started as soon as the BMC
is powered on. Host sends GetTID to BMC, BMC
responds to that and sends SetEventReceiver
command with a specified time

oem_ibm: Reset Watchdog Timer

The watchdog timer is started as soon as the BMC
is powered on. Host sends GetTID to BMC, BMC
responds to that and sends SetEventReceiver
command with a specified time interval(Heartbeat). Host
is supposed to send PlatformEventMessage to BMC
within the elapsed interval.

We use the same infrastructure as that of surveillance
for implementing host watchdog. The difference between
surveillance and host watchdog is that-
-> Surveillance is host monitoring the BMC if it is
functioning and its us up and running and if the BMC
fails to respond to ping from host, then host will
reset the BMC
-> Watchdog is BMC monitoring if the host boots without
failures, and if host does not respond to pings from
BMC after the watchdog interval, then the watchdog app
triggers a host dump.

Watchdog monitoring is followed by surveillance.

This commit adds change to reset the watchdog
timer on receiving PlatformEventMessage for
heartbeat elapsed time from Host

Tester with pldmtool:
./pldmtool raw -d 0x80 0x02 0x0A 0x01 0x01 0x06 0x01 0x01
Request Message:
08 01 80 02 0a 01 01 06 01 01
Received Msg
08 01 80 02 0a 01 01 06 01 01
Sending Msg
00 02 0a 00 00
Received Msg
08 01 00 02 0a 00 00
Response Message:
08 01 00 02 0a 00 00

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: I9fea658c3f2d3086ad2574ef827a5154dac6960e

show more ...

a6a8ccd901-Apr-2021 Sagar Srinivas <sagar.srinivas@ibm.com>

PLDM: implement surveillance between Host and bmc

This commit is to implement surveillance between host
and bmc, wherein host monitors if bmc is up and
running through constant pings(by sending Plat

PLDM: implement surveillance between Host and bmc

This commit is to implement surveillance between host
and bmc, wherein host monitors if bmc is up and
running through constant pings(by sending Platform
EventMessages) sent from host to BMC. And if BMC
fails to respond to the pings, then BMC will be
reset using the KCS interface.

1. Host->BMC - GetTID
2. BMC->Host - Respond to GetTID, SetEventReceiver
3. Host->BMC - Respond to SetEventReceiver
4. BMC->Host - Send PlatformEventMessage after the
elapsed time interval(specified with
SetEventReceiver command)
4. Host->BMC - If BMC fails to send respond to host
within specified interval, Host resets BMC via
the KCS interface

Tested with PLDMTOOL:
SetEventReceiver command:
root@rain127bmc:/tmp# ./pldmtool base GetTID -m 8
Received Msg
08 01 81 00 02
Sending Msg
01 00 02 00 01
{
"Response": 1
}

platformEventMessage command(which will be received
by host):
root@rain118bmc:/tmp# ./pldmtool raw -d 0x80 0x02
0x0A 0x01 0x01 0x06 0x01 0x01
Request Message:
08 01 80 02 0a 01 01 06 01 01
Received Msg
08 01 80 02 0a 01 01 06 01 01
eventClass Checking
Sending Msg
00 02 0a 00 00
Response Message:
08 01 00 02 0a 00 00
Received Msg
08 01 00 02 0a 00 00

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Iac90b2233a873a54504ffa649d324d30525b7ce3

show more ...

e5268cda07-Sep-2021 Tom Joseph <rushtotom@gmail.com>

Refactor the verbose tracing in PLDM

1. Add verbose tracing in requester code
2. Change the prefix of verbose tracing to "Tx: " and "Rx: "
3. Remove explicit verbose tracing flag in libpldmresponder

Refactor the verbose tracing in PLDM

1. Add verbose tracing in requester code
2. Change the prefix of verbose tracing to "Tx: " and "Rx: "
3. Remove explicit verbose tracing flag in libpldmresponder
4. Change the prefix of pldmtool verbose tracing to "pldmtool: Tx: "
and "pldmtool: Rx: "

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: Ie2c6b323e32e0828ed5ecaeb3e61943a98a2f089

show more ...

88bc718308-Sep-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Fix for discovering the HostState

- 20aa3e09fb866c1b99c1d3d702f2a2f1908558af commit moved the
setHostFirmwarecondition() function call prior to the code
that connects to the mctp socket.

- That

Fix for discovering the HostState

- 20aa3e09fb866c1b99c1d3d702f2a2f1908558af commit moved the
setHostFirmwarecondition() function call prior to the code
that connects to the mctp socket.

- That led us to fail in sending the message with ENOTCONN Errno,
as demonstrated by the below strace log.

------
23:16:50.596833 connect(3, {sa_family=AF_UNIX, sun_path=@"mctp-mux"}, 11) = 0

Change-Id: Icd3a20e4bb0218517d44d14a57c0407c7b7702e2
---
23:16:50.593800 sendmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\t\1",
iov_len=2}, {iov_base="\200\0\3\0\0\0\0\1\0", iov_len=9}], msg_iovlen=2, msg_controllen=0,
msg_flags=0}, 0) = -1 ENOTCONN
-----

- Without this change , we would get ENOTCONN(107 errono) for the
getPLDMVersion command that pldm sends at the begining to discover the
host state.

TestedBy:
1. when host is off :
Response not received for the request, instance ID expired. EID = 9 INSTANCE_ID = 0 TYPE = 0 COMMAND = 3
Failed to receive response for getPLDMVersion command, Host seems to be off

2. when host is Running :
Sending Msg
80 00 03 00 00 00 00 01 00
Received Msg
09 01 00 00 03 00 00 00 00 00 05 f1 f1 f0 00
Getting the response. PLDM RC = 0

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I5c7c3bc92c8654016db90855de49b7c30f161275

show more ...


/openbmc/pldm/common/types.hpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/meson.build
/openbmc/pldm/host-bmc/dbus_to_host_effecters.cpp
/openbmc/pldm/libpldm/entity.h
/openbmc/pldm/libpldm/firmware_update.c
/openbmc/pldm/libpldm/firmware_update.h
/openbmc/pldm/libpldm/pdr.c
/openbmc/pldm/libpldm/pdr.h
/openbmc/pldm/libpldm/state_set.h
/openbmc/pldm/libpldm/tests/libpldm_firmware_update_test.cpp
/openbmc/pldm/libpldm/tests/libpldm_pdr_test.cpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/event_parser.cpp
/openbmc/pldm/libpldmresponder/event_parser.hpp
/openbmc/pldm/libpldmresponder/examples/effecter/dbus_to_host_effecter.json
/openbmc/pldm/libpldmresponder/examples/events/event_state_sensor.json
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/test/event_jsons/good/event_state_sensor.json
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/events/oem_ibm_event_state_sensor.json
/openbmc/pldm/oem/ibm/configurations/fileTable.json
/openbmc/pldm/oem/ibm/libpldm/platform_oem_ibm.c
/openbmc/pldm/oem/ibm/libpldm/platform_oem_ibm.h
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.hpp
/openbmc/pldm/oem/ibm/service_files/meson.build
/openbmc/pldm/oem/ibm/service_files/pldm-reset-phyp-nvram-cksum.service
/openbmc/pldm/oem/ibm/service_files/pldm-reset-phyp-nvram.service
pldmd.cpp
/openbmc/pldm/softoff/meson.build
/openbmc/pldm/softoff/softoff.cpp
/openbmc/pldm/tools/fw-update/README.md
/openbmc/pldm/tools/fw-update/metadata-example.json
/openbmc/pldm/tools/fw-update/pldm_fwup_pkg_creator.py
f9ba8c1906-Aug-2021 Sampa Misra <sampmisr@in.ibm.com>

pldmd: use async instead of event loop at start

This commit changes the first command to async that pldmd sends
after starting to discover Host state.

Also uses GetPLDMVersion as the first command

pldmd: use async instead of event loop at start

This commit changes the first command to async that pldmd sends
after starting to discover Host state.

Also uses GetPLDMVersion as the first command so that Host understands
bmc pldmd has restarted.

Change-Id: Icb556a89f3cc9564450cc344ba9e0e8b56421fd9
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...


/openbmc/pldm/common/test/mocked_utils.hpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.cpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.hpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.cpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.hpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/bios_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_config.cpp
/openbmc/pldm/libpldmresponder/bios_config.hpp
/openbmc/pldm/libpldmresponder/bios_enum_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_enum_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_integer_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_integer_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_string_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_string_attribute.hpp
/openbmc/pldm/libpldmresponder/fru_parser.cpp
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/oem_handler.hpp
/openbmc/pldm/libpldmresponder/pdr.hpp
/openbmc/pldm/libpldmresponder/pdr_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_sensor.hpp
/openbmc/pldm/libpldmresponder/pdr_utils.cpp
/openbmc/pldm/libpldmresponder/pdr_utils.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/platform_state_effecter.hpp
/openbmc/pldm/libpldmresponder/platform_state_sensor.hpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_attribute_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_enum_attribute_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_integer_attribute_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/libpldmresponder/test/mocked_bios.hpp
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_pel.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/inband_code_update.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/oem/ibm/oem_ibm_state_set.hpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.hpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/requester/handler.hpp
/openbmc/pldm/requester/request.hpp
/openbmc/pldm/requester/test/mock_request.hpp
5d8221af17-Aug-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

pldmd: fix null pointer dereference

When built with the default meson options, pldmd immediately fails to
start because of this null pointer dereference.

Change-Id: I1eed64d2491291d2607c19a673f4146

pldmd: fix null pointer dereference

When built with the default meson options, pldmd immediately fails to
start because of this null pointer dereference.

Change-Id: I1eed64d2491291d2607c19a673f41467b6658ee0
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...

20aa3e0917-Aug-2021 Tom Joseph <rushtotom@gmail.com>

libpldmresponder: Move host specific code under build flag

Recently added patches have not added the libpldmresponder and host
bmc specific code under the libpldmresponder build flag.

Tested: Not t

libpldmresponder: Move host specific code under build flag

Recently added patches have not added the libpldmresponder and host
bmc specific code under the libpldmresponder build flag.

Tested: Not tested yet, need help from IBM contributors to verify
the patch and update this section.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I743ccae4d31af887c037a3bd38ec837b942f7efd

show more ...

4e2ed9c513-May-2021 Andrew Geissler <geissonator@yahoo.com>

make pldmd a dbus systemd service

With the introduction of PLDM supporting the new
xyz.openbmc_project.Condition.HostFirmware interface and other services
depending on that interface being on D-Bus,

make pldmd a dbus systemd service

With the introduction of PLDM supporting the new
xyz.openbmc_project.Condition.HostFirmware interface and other services
depending on that interface being on D-Bus, it's time to convert the
pldmd service to a D-Bus service.

This allows other services to put a "After=pldmd" in their service and
be assured that pldmd has put its service on the bus before the service
is considered done.

Tested:
- Verified with the other "bmc-reset-host-up" commits that this fixed a
synchronization issue between phosphor-state-manager and pldmd.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I1fa7630f8ef72c5361e3dab983e5096e1cdfebd3

show more ...

319ebb3106-May-2021 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM: Implement host-condition interface

This commit implements the PDI interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc
/phosphor-dbus-interfaces/+/42435

pldmd hosts the new xyz.o

PLDM: Implement host-condition interface

This commit implements the PDI interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc
/phosphor-dbus-interfaces/+/42435

pldmd hosts the new xyz.openbmc_project.Condition.HostFirmware interface
so it's difficult for it to have other code within pldmd to also set
this during startup.

The solution proposed in this commit is to provide the hostPDRHandler
object to the HostFirmware interface implementation. This then allows
reads of the HostFirmware property to just ask the hostPDRHandler for
the current state of the host.

Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
Change-Id: I3f7d4f573332e96fcd3ae594dc25750070cd6e62

show more ...

6decfc1801-Mar-2021 sampmisr <sampmisr@gmail.com>

BMC RR: check whether the Host is running

This commit checks whether Host is up by sending a request to
Host when pldmd starts up. This does not differentiate the case
when there is a bmc RR or pldm

BMC RR: check whether the Host is running

This commit checks whether Host is up by sending a request to
Host when pldmd starts up. This does not differentiate the case
when there is a bmc RR or pldmd restarted.

Updates the Host condition accordingly.

Initiates a PDR exchange if Host is running.

Change-Id: I630b342f5f9cc62530e0274f46357d238e92d0c9
Signed-off-by: sampmisr <sampmisr@gmail.com>

show more ...

03b01ca828-Jun-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Add support for vendor specific FruDbusLookup

In the current state, a vendor could not define the FRU's
that he wants to send to the host.

This commit adds a fru_master.json that can be used while

Add support for vendor specific FruDbusLookup

In the current state, a vendor could not define the FRU's
that he wants to send to the host.

This commit adds a fru_master.json that can be used while
building the master , and the json would be replaced with
fru_master.json from the oem/<vendor>/configurations
directory when compiling for oem's.

Tested By:

IBM machine test :
1. meson build -Doem-ibm=enabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the oem/ibm/configurations folder

Non IBM machine test :
1. meson build -Doem-ibm=disabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the pldm/configurations folder.

Runtime test:
1. on an IBM machine make sure the pldm builds the fru record
table.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Id3c2746c51a1f99f2038b2af48137133e9d0b405

show more ...

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


/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/host-bmc/dbus_to_event_handler.cpp
/openbmc/pldm/host-bmc/dbus_to_event_handler.hpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.cpp
/openbmc/pldm/host-bmc/dbus_to_host_effecters.hpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/host-bmc/test/dbus_to_host_effecter_test.cpp
/openbmc/pldm/host-bmc/test/meson.build
/openbmc/pldm/libpldm/base.h
/openbmc/pldm/libpldm/firmware_update.c
/openbmc/pldm/libpldm/firmware_update.h
/openbmc/pldm/libpldm/pdr.c
/openbmc/pldm/libpldm/pdr.h
/openbmc/pldm/libpldm/tests/libpldm_firmware_update_test.cpp
/openbmc/pldm/libpldm/tests/libpldm_pdr_test.cpp
/openbmc/pldm/libpldmresponder/base.cpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/bios.hpp
/openbmc/pldm/libpldmresponder/bios_config.cpp
/openbmc/pldm/libpldmresponder/bios_config.hpp
/openbmc/pldm/libpldmresponder/fru.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/oem/ibm/configurations/fileTable.json
/openbmc/pldm/oem/ibm/configurations/fru/Battery_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Battery_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Bmc_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Chassis_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Connector_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/DiskBackplane_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/DiskBackplane_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/Fan_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeDevice_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeDevice_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/PCIeSlot_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Panel_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PowerSupply_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/PowerSupply_VINI.json
/openbmc/pldm/oem/ibm/configurations/fru/System_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Tpm_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Vrm_LocationCode.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/oem_ibm_handler.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.hpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.cpp
/openbmc/pldm/oem/ibm/requester/dbus_to_file_handler.hpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
pldmd.cpp
/openbmc/pldm/pldmtool/pldm_base_cmd.cpp
/openbmc/pldm/requester/request.hpp
/openbmc/pldm/tools/visualize-pdr/README.md
/openbmc/pldm/tools/visualize-pdr/pldm_visualise_pdrs.py
/openbmc/pldm/tools/visualize-pdr/requirements.txt

12345