History log of /openbmc/pldm/pldmd/ (Results 76 – 100 of 102)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
003fe02116-Jun-2021 Andrew Jeffery <andrew@aj.id.au>

systemd: Remove mctp-demux dependency

mctp-demux-daemon is undergoing a transition from service to socket
activation. Move the ownership of the service relationship into the
service units provided b

systemd: Remove mctp-demux dependency

mctp-demux-daemon is undergoing a transition from service to socket
activation. Move the ownership of the service relationship into the
service units provided by libmctp. This will end in a reversal of the
dependencies with pldmd connecting to the @mctp-mux socket to launch
mctp-demux-daemon on-demand.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I7cd3dbaf40a0bc9535b647efb9a0a0d4e2702192

show more ...

74f27c7316-May-2021 Tom Joseph <rushtotom@gmail.com>

requester: PLDM handler for async request/response

PLDM request handler provides APIs to register PLDM request message,
handle retries and instance ID expiration. Sending the PLDM request
and handli

requester: PLDM handler for async request/response

PLDM request handler provides APIs to register PLDM request message,
handle retries and instance ID expiration. Sending the PLDM request
and handling response is handled in an async manner. On receiving
the response the corresponding response handler registered for the
request is invoked.

Tested: Ran unit tests

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

show more ...

2c0bdf1814-Jun-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Remove Inventory Manager dependency for pldm

- Inventory Manager was added as dependency when pldm
daemon used to build the BMC FRU Record table at start.

- As the design was later changed , we n

Remove Inventory Manager dependency for pldm

- Inventory Manager was added as dependency when pldm
daemon used to build the BMC FRU Record table at start.

- As the design was later changed , we now build the BMC FRU
Record table only after we get the first GETPDR command from
host (happens during Host Poweron operation).

- We can assume that the Inventory manager is all up and
running before the host is poweredon, so we can remove the
inventory dependency from the pldm dependency list.

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

show more ...

b7095ff314-Jun-2021 George Liu <liuxiwei@inspur.com>

Fix the return value of pack_pldm_header and unpack_pldm_header

- The intent behind this commit is to fix the return value of the
pack_pldm_header and the unpack_pldm_header methods.

- According

Fix the return value of pack_pldm_header and unpack_pldm_header

- The intent behind this commit is to fix the return value of the
pack_pldm_header and the unpack_pldm_header methods.

- According to PLDM spec, their return value should be `uint8_t`, not
`int`, so 0 is PLDM_SUCCESS and non-0 is failure.

- Also, when we call the pack_pldm_header and unpack_pldm_header
methods, we need to verify the return value of the method.

Tested: Built pldm successfully and Unit Test passes.

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

show more ...

c073a20e08-May-2021 Sampa Misra <sampmisr@in.ibm.com>

entity_association_tree: Keep tree always updated

This commit keeps the entity association tree updated across Host
reboots. It deletes the Host entries from the entity associaton
tree when Host is

entity_association_tree: Keep tree always updated

This commit keeps the entity association tree updated across Host
reboots. It deletes the Host entries from the entity associaton
tree when Host is powered off.

Without this fix the entity association tree keeps on growing with
duplicate Host entries during each power on(PDR exchange) resulting
a crash of pldm daemon after few power on-off sequence

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

show more ...

02b4ee4503-May-2021 Tom Joseph <rushtotom@gmail.com>

libpldmresponder: Make libpldmresponder optional

libpldmresponder library is for handling incoming PLDM request messages
on BMC. There are usecases for PLDM daemon on BMC where it is primarily
a req

libpldmresponder: Make libpldmresponder optional

libpldmresponder library is for handling incoming PLDM request messages
on BMC. There are usecases for PLDM daemon on BMC where it is primarily
a requester and BMC aggregates information about firmware devices that
implement MCTP/PLDM and facilitate firmware upgrade of the devices.
This patch is a step in that direction to enable PLDM daemon on BMC
primarily as PLDM requester.

Tested: Ran PLDM daemon successfully without libpldmresponder library.

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

show more ...


/openbmc/pldm/.gitignore
/openbmc/pldm/MAINTAINERS
/openbmc/pldm/common/test/meson.build
/openbmc/pldm/common/test/mocked_utils.hpp
/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/configurations/events/stateSensorPdrs.json
/openbmc/pldm/configurations/meson.build
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/configurations/pdr/4.json
/openbmc/pldm/host-bmc/dbus_to_event_handler.cpp
/openbmc/pldm/host-bmc/test/dbus_to_host_effecter_test.cpp
/openbmc/pldm/host-bmc/test/host_effecter_jsons/good/dbus_to_host_effecter.json
/openbmc/pldm/host-bmc/test/host_effecter_jsons/malformed/dbus_to_host_effecter.json
/openbmc/pldm/host-bmc/test/host_effecter_jsons/no_json/dummy.json
/openbmc/pldm/host-bmc/test/meson.build
/openbmc/pldm/libpldm/base.h
/openbmc/pldm/libpldm/fru.c
/openbmc/pldm/libpldm/meson.build
/openbmc/pldm/libpldm/pdr.c
/openbmc/pldm/libpldm/pdr.h
/openbmc/pldm/libpldm/platform.c
/openbmc/pldm/libpldm/platform.h
/openbmc/pldm/libpldm/pldm.h
/openbmc/pldm/libpldm/state_set.h
/openbmc/pldm/libpldm/tests/libpldm_pdr_test.cpp
/openbmc/pldm/libpldm/tests/libpldm_platform_test.cpp
/openbmc/pldm/libpldm/tests/meson.build
/openbmc/pldm/libpldmresponder/bios_enum_attribute.cpp
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/meson.build
/openbmc/pldm/libpldmresponder/pdr_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_effecter.hpp
/openbmc/pldm/libpldmresponder/pdr_state_sensor.hpp
/openbmc/pldm/libpldmresponder/platform_numeric_effecter.hpp
/openbmc/pldm/libpldmresponder/platform_state_effecter.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/files/NVRAM-IMAGE
/openbmc/pldm/libpldmresponder/test/files/NVRAM-IMAGE-CKSUM
/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_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_bios_table_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_pdr_sensor_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/libpldmresponder/test/mocked_bios.hpp
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_effecter/good/effecter_pdr.json
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_effecter/malformed/effecter_pdr.json
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_sensor/good/sensor_pdr.json
/openbmc/pldm/libpldmresponder/test/pdr_jsons/state_sensor/malformed/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/libpldm/file_io.h
/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_lid.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_progress_src.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.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/meson.build
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/softoff/meson.build
/openbmc/pldm/softoff/softoff.cpp
/openbmc/pldm/subprojects/CLI11.wrap
/openbmc/pldm/subprojects/googletest.wrap
/openbmc/pldm/subprojects/nlohmann-json.wrap
/openbmc/pldm/subprojects/phosphor-dbus-interfaces.wrap
/openbmc/pldm/subprojects/sdbusplus.wrap
/openbmc/pldm/subprojects/sdeventplus.wrap
/openbmc/pldm/test/meson.build
/openbmc/pldm/utilities/meson.build
5fb37d5706-Mar-2021 Sampa Misra <sampmisr@in.ibm.com>

Fix: create a deferred event for tasks after GetPDR

There are certain tasks that need to be performed when a GetPDR is
received. That should be done after sending response to GetPDR

before fix:
Rec

Fix: create a deferred event for tasks after GetPDR

There are certain tasks that need to be performed when a GetPDR is
received. That should be done after sending response to GetPDR

before fix:
Received Msg
09 01 86 02 51 00 00 00 00 00 00 00 00 01 ff 7f 00 00
Sending Msg
06 02 51 05

after fix:
Received Msg
09 01 9e 02 51 34 00 00 00 00 00 00 00 01 ff 7f 00 00
Sending Msg
1e 02 51 00 35 00 00 00 00 00 00 00 05 1d 00 34 00 00
00 01 0b 00 00 13 00 02 00 03 00 43 00 04 00 01 00 00 00 00 00 01 c0 00 01 0c

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

show more ...

ff80ebf004-Mar-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Add a new pldm verbosity option

- The intent behind this commit is to add a new
compile time meson option to control the pldm verbosity.

- The value that is given for meson option goes into the

Add a new pldm verbosity option

- The intent behind this commit is to add a new
compile time meson option to control the pldm verbosity.

- The value that is given for meson option goes into the
default systemd environment file which is picked by the
pldmd service unit before it starts.

- As the pldmd consumes the default pldmd file at runtime,
we should be able to alter the verbosity by changing the
content in /etc/default/pldm_verbosity file.

Tested By:
1. meson buildir
check the pldmd file (make sure verbosity is 0 by default)
2. meson builddir -Dverbosity=1
check the generated pldm_verbosity file (make sure verbosity is 1)
3. Flash the image & check if the pldm is loaded with the right verbosity
that is set during compilation.
4. Change the verbosity in the /etc/default/pldm_verbosity file & restart
pldmd.service, and check if the daemon picks up the change.

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

show more ...

db12436a28-Jan-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

oem-ibm: Resource dump support

This commit includes the changes to support resource dump. Input
parameters to initiate resource dump are vsp string and the
password.

Resource Dump Flow:
1. PLDM wai

oem-ibm: Resource dump support

This commit includes the changes to support resource dump. Input
parameters to initiate resource dump are vsp string and the
password.

Resource Dump Flow:
1. PLDM waits for the resource dump create signal from
dump manager
2. BMC sends the NewfileAvailable command to hypervisor with
resource dump paramters
Format: <Length of the VSP String><VSP String>
<Length of the Password><Password>
3. Hypervisor reads and validates the data and send the File Ack
command back to BMC
4. Once completed, BMC receives the NewfileAvailable command from
hypervisor with resource dump details
5. User initiates the dump offload
6. BMC receives the write file by type from memory command from
hypervisor
7. Once this operation is completed BMC receives the File Ack
command from hyperviosr

Tested By:
1. Initiating the resource dump using pldmtool, busctl and redfish
2. Verified that resource dump entry is updated with source id,
length, completion time and status.
3. Dump offload is successful with initiating from redfish
4. Verified that new resource dump is generated at hypervisor level
5. Error scenarios tested are like empty vsp string, not supported
vsp string etc.

Signed-off-by: Jayashankar Padath <jayashankar.padath@in.ibm.com>
Change-Id: Iedcdf3cf16c263a2d1749bb5251f7f6244c327ea

show more ...

ae28bc7710-Dec-2020 Sridevi Ramesh <sridevra@in.ibm.com>

Add tracing when the BMC PLDM daemon issues GetPDR to host

After PDR trace enabled

Sending Msg:
80 02 51 18 00 00 00 00 00 00 00 01 ff ff 00 00
Receiving Msg:
00 02 51 00 19 00 00 00 00 00 00 00 05

Add tracing when the BMC PLDM daemon issues GetPDR to host

After PDR trace enabled

Sending Msg:
80 02 51 18 00 00 00 00 00 00 00 01 ff ff 00 00
Receiving Msg:
00 02 51 00 19 00 00 00 00 00 00 00 05 14 00 18 00 00 00 01 14 00 00 0a 00 02 00 40 01 43 00 01 00 01 00
Sending Msg:
80 02 51 19 00 00 00 00 00 00 00 01 ff ff 00 00
Receiving Msg:
00 02 51 00 1a 00 00 00 00 00 00 00 05 14 00 19 00 00 00 01 14 00 00 0a 00 02 00 41 01 43 00 02 00 01 00
Sending Msg:
80 02 51 1a 00 00 00 00 00 00 00 01 ff ff 00 00
Receiving Msg:
00 02 51 00 1b 00 00 00 00 00 00 00 05 14 00 1a 00 00 00 01 14 00 00 0a 00 02 00 c0 20 42 00 01 00 01 00
Sending Msg:
80 02 51 1b 00 00 00 00 00 00 00 01 ff ff 00 00
Receiving Msg:
00 02 51 00 1c 00 00 00 00 00 00 00 05 14 00 1b 00 00 00 01 14 00 00 0a 00 02 00 c2 20 42 00 02 00 01 00

Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
Change-Id: I464de3c128054b381dbba6199f2525ed2b327195

show more ...

fec5d59b21-Jan-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Upstream pldm-hypervisor services under OEM

- The intent behind this commit is to create a folder
for all the pldm services(including the oem services)
& installs the respective services base

Upstream pldm-hypervisor services under OEM

- The intent behind this commit is to create a folder
for all the pldm services(including the oem services)
& installs the respective services based on the meson
configuration.
- This commit would also remove a redundant systemd dependency
which was missed in earlier cleanup.

Tested By:
1. meson buiddir -Doem-ibm=enabled/disabled
2. ninja -C builddir
3. ninja install

Post the install step, was able to see the respective systemd
unit files in the systemd_unit_dir (lib/systemd/system)

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

show more ...

3a0e3b9b21-Oct-2020 Sampa Misra <sampmisr@in.ibm.com>

oem ibm: marker LID validation

This commit adds code for writing marker LID
from Host and also send a PlatformEventMessage
after validation.

This commit also subscribes for the interface added
sign

oem ibm: marker LID validation

This commit adds code for writing marker LID
from Host and also send a PlatformEventMessage
after validation.

This commit also subscribes for the interface added
signal to fetch the new image id and sends the relevant
sensor event to host

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

show more ...

3ca29df027-Sep-2020 Varsha Kaverappa <vkaverap@in.ibm.com>

pldm: inband code update: clear the image LIDs when pldm daemon comes up

Clear the LID_STAGING_DIR path when pldm daemon comes up. This function
will also be used during code update process.

Signed

pldm: inband code update: clear the image LIDs when pldm daemon comes up

Clear the LID_STAGING_DIR path when pldm daemon comes up. This function
will also be used during code update process.

Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
Change-Id: I2a757caaa3e204e4089235d9e3baf6d425f5bec5

show more ...

bb585b2810-Sep-2020 Varsha Kaverappa <vkaverap@in.ibm.com>

OEM IBM: Platform: event framework to send events to PHYP

This commit consists of APIs that will be used to send code update
event change/update PlatformEventMessage to Phyp for different
stages of

OEM IBM: Platform: event framework to send events to PHYP

This commit consists of APIs that will be used to send code update
event change/update PlatformEventMessage to Phyp for different
stages of inband code update progress.
The event is a state sensor event.

Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com>
Change-Id: I9b4b0493dd6886805044011d994df58b31f80a6e

show more ...

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


/openbmc/pldm/MAINTAINERS
/openbmc/pldm/common/types.hpp
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/events/stateSensorPdrs.json
/openbmc/pldm/libpldm/entity.h
/openbmc/pldm/libpldm/state_set.h
/openbmc/pldm/libpldm/states.h
/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/meson.build
/openbmc/pldm/libpldmresponder/oem_handler.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/libpldmresponder/file_io.hpp
/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/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
pldmd.cpp
/openbmc/pldm/test/libpldmresponder_bios_attribute_test.cpp
/openbmc/pldm/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/test/libpldmresponder_pdr_sensor_test.cpp
/openbmc/pldm/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/test/meson.build
3aec997c14-Dec-2020 Pavithra Barithaya <pavithra.b@ibm.com>

Refactor the platform event message handler code

This commit makes slight code change to use some functions both
in BMC requester and responder flow.

Tested : Using pldmtool platformEventMessage is

Refactor the platform event message handler code

This commit makes slight code change to use some functions both
in BMC requester and responder flow.

Tested : Using pldmtool platformEventMessage is sent and D-Bus
property is verified.

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

show more ...


/openbmc/pldm/MAINTAINERS
/openbmc/pldm/README.md
/openbmc/pldm/common/utils.hpp
/openbmc/pldm/configurations/meson.build
/openbmc/pldm/configurations/pdr/11.json
/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/libpldm/entity.h
/openbmc/pldm/libpldmresponder/bios_attribute.cpp
/openbmc/pldm/libpldmresponder/bios_attribute.hpp
/openbmc/pldm/libpldmresponder/bios_config.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/meson.build
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/meson.build
/openbmc/pldm/oem/ibm/libpldm/fru.h
/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_by_type.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_dump.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/platform_oem_ibm.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/utils.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/utils.hpp
pldmd.cpp
/openbmc/pldm/pldmtool/meson.build
/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.hpp
/openbmc/pldm/pldmtool/pldm_fru_cmd.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/softoff/meson.build
/openbmc/pldm/softoff/services/pldmSoftPowerOff.service
/openbmc/pldm/softoff/softoff.cpp
/openbmc/pldm/test/bios_jsons/enum_attrs.json
/openbmc/pldm/test/bios_jsons/integer_attrs.json
/openbmc/pldm/test/bios_jsons/string_attrs.json
/openbmc/pldm/test/libpldmresponder_bios_attribute_test.cpp
/openbmc/pldm/test/libpldmresponder_bios_enum_attribute_test.cpp
/openbmc/pldm/test/libpldmresponder_bios_integer_attribute_test.cpp
/openbmc/pldm/test/libpldmresponder_bios_string_attribute_test.cpp
/openbmc/pldm/test/libpldmresponder_fru_test.cpp
/openbmc/pldm/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/test/libpldmresponder_pdr_sensor_test.cpp
/openbmc/pldm/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/test/meson.build
/openbmc/pldm/utilities/meson.build
0e9407ad29-Sep-2020 Tom Joseph <tomjoseph@in.ibm.com>

Add service dependency with biosconfig-manager

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: If89aa7f3ec5561e4077427f3fe101cd150b1ca27

7f839f9d20-Sep-2020 Tom Joseph <tomjoseph@in.ibm.com>

oem-ibm: Send the event to host when BIOS attribute changes

IBM has the requirement to send a hot update to host when the
BIOS attribute changes. This patch enables sending an OEM platform
event mes

oem-ibm: Send the event to host when BIOS attribute changes

IBM has the requirement to send a hot update to host when the
BIOS attribute changes. This patch enables sending an OEM platform
event message to host with the details of the BIOS attributes that
changed on the BMC. Once the host acknowledges the event, then BMC
updates the BaseBiosTable in the bios-config-manager. The host comes
down and reads the changed BIOS attributes by calling the command
GetBIOSAttribute value.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: Id1579bfed1967e653da743313c825b765d227681

show more ...

23c5204701-Sep-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

pldmd: improve reaction to mctpd socket close

Previous behavior was to just log a "socket has been closed" message,
while the pldmd is still running an event loop. We're seeing the journal
contain a

pldmd: improve reaction to mctpd socket close

Previous behavior was to just log a "socket has been closed" message,
while the pldmd is still running an event loop. We're seeing the journal
contain a large number of these sometimes on Tacoma platforms. This is
likely a bug (either in pldmd or mctpd), yet to be determined.

Instead of flooding the journal, a better mechanism is to have the pldmd
exit the event loop and return with a failure reason code. This will
cause systemd to restart pldmd, which provides a chance for recovery.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: Iada6ee50808758312690883109f0499a8396e99e

show more ...


/openbmc/pldm/configurations/host/dbus_to_host_effecter.json
/openbmc/pldm/configurations/meson.build
/openbmc/pldm/libpldm/bios.c
/openbmc/pldm/libpldm/bios.h
/openbmc/pldm/libpldm/bios_table.c
/openbmc/pldm/libpldm/bios_table.h
/openbmc/pldm/libpldm/state_set.h
/openbmc/pldm/libpldm/tests/libpldm_bios_table_test.cpp
/openbmc/pldm/libpldm/tests/libpldm_bios_test.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/event_parser.cpp
/openbmc/pldm/libpldmresponder/examples/effecter/dbus_to_host_effecter.json
/openbmc/pldm/libpldmresponder/examples/pdr/effecter_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/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/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/fru/Motherboard_DINF.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_VCEN.json
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_lid.hpp
pldmd.cpp
/openbmc/pldm/softoff/main.cpp
/openbmc/pldm/softoff/meson.build
/openbmc/pldm/softoff/services/pldmSoftPowerOff.service
/openbmc/pldm/softoff/softoff.cpp
/openbmc/pldm/softoff/softoff.hpp
/openbmc/pldm/test/bios_jsons/enum_attrs.json
/openbmc/pldm/test/bios_jsons/integer_attrs.json
/openbmc/pldm/test/libpldmresponder_platform_test.cpp
/openbmc/pldm/test/pdr_jsons/state_effecter/good/effecter_pdr.json
/openbmc/pldm/test/pdr_jsons/state_effecter/malformed/effecter_pdr.json
cae1866f14-May-2020 George Liu <liuxiwei@inspur.com>

send PLDM event msg when state sensor changes

Add the D-Bus to event handler interface to listen all of the state
sensor PDRs and pldm should be able to send up a PLDM event msg when a
D-Bus propert

send PLDM event msg when state sensor changes

Add the D-Bus to event handler interface to listen all of the state
sensor PDRs and pldm should be able to send up a PLDM event msg when a
D-Bus property changes. the PlatformEventMessage command format is
defined in Table 15 in DSP0248 v1.2.0.

Tested: test with JSON
https://gist.github.com/lxwinspur/6a40abea7330c25e4d49826e890c4be9
The sendEventMsg method is successfully called and the corresponding
message is successfully sent when the D-Bus property value of the sensor
status changes.
print requestMsg Data: 80 02 0a 01 00 00 01 00 01 00 00 00(when calling
sendEventMsg method)

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

show more ...

b5c227ea13-Jul-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

libpldmresponder: construct BMC PDRs lazily

BMC's PDRs were constructed when the pldm daemon starts up. However, the
pldm daemon might rely on other services to start in order to create
PDRs. To sol

libpldmresponder: construct BMC PDRs lazily

BMC's PDRs were constructed when the pldm daemon starts up. However, the
pldm daemon might rely on other services to start in order to create
PDRs. To solve this problem, construct the PDRs when the first GetPDR
call comes in. From a practical timing perspective, this ensures the
pldm daemon and the services it needs to build PDRs are all up and
running.

An alternative would be to add 'After' directives in pldm's service
file, however that can get complex when some of the services are not
present on all platforms.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: Id6ac9fd47b293f7e84e3837432b32b0e3c3f8a5a

show more ...

174665f808-Jul-2020 Chicago Duan <duanzhijia01@inspur.com>

Implement the PLDM.Event interface

This commit implements a DBus interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/33552

When the PLDM daemon receives a s

Implement the PLDM.Event interface

This commit implements a DBus interface defined at
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/33552

When the PLDM daemon receives a state sensor EventMessages, it emits the
PLDM.Event.StateSensorEvent signal (with TID, sensorID, sensorOffset,
eventState, previousEventState as the signal data).
https://gerrit.openbmc-project.xyz/c/openbmc/pldm/+/33553

Signed-off-by: Chicago Duan <duanzhijia01@inspur.com>
Change-Id: I64f4b08cf754ff4af74f8c6137ff8de41ccf89f7

show more ...

36e8135201-Jul-2020 George Liu <liuxiwei@inspur.com>

libpldmresponder: create PDR when the D-Bus object path exists

On a system where this D-Bus object path does not exist, it should
not create a PDR when the D-Bus object specified here is not found.

libpldmresponder: create PDR when the D-Bus object path exists

On a system where this D-Bus object path does not exist, it should
not create a PDR when the D-Bus object specified here is not found.

Tested: In the PDR config files, the PDR is successfully created when
the objectPath of the D-Bus exists, otherwise, skipped the current
config and the PDR is not created.

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

show more ...

c0c6054c01-Jul-2020 Sampa Misra <sampmisr@in.ibm.com>

pldmd: fix creation of HostEffecterParser object

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

33e9c7ea11-Jun-2020 Tom Joseph <tomjoseph@in.ibm.com>

Build FRU table lazily

The FRU table is created when the PLDM daemon starts and depends on
BMC inventory collection to populate it completely. There is no D-Bus
signal or target that PLDM daemon can

Build FRU table lazily

The FRU table is created when the PLDM daemon starts and depends on
BMC inventory collection to populate it completely. There is no D-Bus
signal or target that PLDM daemon can rely on to figure completion of
inventory. This can cause some of the inventory to not show up in the
FRU table if the inventory collection is not complete when the PLDM
daemon starts.

An easy solution to this problem is to do the FRU table creation
lazily. The FRU table will be created when the FRU commands or Get PDR
command is handled the first time. The entity association PDR's are
created when the FRU table is built. So Get PDR commands expects the
building of the FRU table as a pre condition.

Tested:

Ensured FRU table is created when the GetFRURecordTableMetadata,
GetFRURecordTable and GetPDR command is handled by the PLDM daemon the
first time. Next time already built table is returned for the FRU
commands.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: I0deb723f30a30a667d0e80c9f9f6aced5ab23a67

show more ...


/openbmc/pldm/configurations/fru/Bmc_General.json
/openbmc/pldm/configurations/fru/FRU_Master.json
/openbmc/pldm/configurations/fru/Motherboard_General.json
/openbmc/pldm/configurations/fru/Panel_General.json
/openbmc/pldm/configurations/fru/System_General.json
/openbmc/pldm/configurations/fru/Tpm_General.json
/openbmc/pldm/configurations/fru/Vrm_General.json
/openbmc/pldm/configurations/meson.build
/openbmc/pldm/configurations/pdr/11.json
/openbmc/pldm/libpldmresponder/fru.cpp
/openbmc/pldm/libpldmresponder/fru.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/platform.hpp
/openbmc/pldm/meson.build
/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/Motherboard_LXR0.json
/openbmc/pldm/oem/ibm/configurations/fru/Motherboard_LocationCode.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/Panel_LocationCode.json
/openbmc/pldm/oem/ibm/configurations/fru/Panel_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
pldmd.cpp
/openbmc/pldm/pldmtool/meson.build
/openbmc/pldm/pldmtool/oem/ibm/pldm_host_cmd.cpp
/openbmc/pldm/pldmtool/oem/ibm/pldm_host_cmd.hpp
/openbmc/pldm/pldmtool/pldm_base_cmd.cpp
/openbmc/pldm/pldmtool/pldm_base_cmd.hpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.cpp
/openbmc/pldm/pldmtool/pldm_bios_cmd.hpp
/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_fru_cmd.hpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.hpp
/openbmc/pldm/pldmtool/pldmtool.cpp
/openbmc/pldm/test/libpldmresponder_pdr_effecter_test.cpp
/openbmc/pldm/test/libpldmresponder_platform_test.cpp

12345