History log of /openbmc/pldm/configurations/ (Results 26 – 50 of 60)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a114c10713-Aug-2021 Sridevi Ramesh <sridevra@in.ibm.com>

PDR: Add effecter support for fault LEDS.

Also, contains update for card, dimm and CPU entity info for
identify effecter LED.

Tested Result:

1. Example for fault LED:
=========================

pl

PDR: Add effecter support for fault LEDS.

Also, contains update for card, dimm and CPU entity info for
identify effecter LED.

Tested Result:

1. Example for fault LED:
=========================

pldmtool platform getpdr -d 193
{
"nextRecordHandle": 194,
"responseCount": 29,
"recordHandle": 193,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 103,
"entityType": "[Physical] Chassis front panel board(control panel)",
"entityInstanceNumber": 1,
"containerID": 3,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Operational Fault Status(10)",
"possibleStatesSize[0]": 1,
"possibleStates[0]": [
"Normal(1)",
"Stressed(2)"
]
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

pldmtool platform SetStateEffecterStates -i 103 -c 1 -d 1 2 {
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

l platform getpdr -d 415
{
"nextRecordHandle": 416,
"responseCount": 29,
"recordHandle": 415,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 120,
"entityType": "[Physical] Memory Chip",
"entityInstanceNumber": 1,
"containerID": 3,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Operational Fault Status(10)",
"possibleStatesSize[0]": 1,
"possibleStates[0]": [
"Normal(1)",
"Stressed(2)"
]
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

pldmtool platform SetStateEffecterStates -i 120 -c 1 -d 1 1 {
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0 xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

2. Example for dimm update for identify effecter
====================================================

Set Memory Chip -1 (Identify State - effecter) and verify with corresponding Memory chip -1 (Identify State - sensor)

pldmtool platform GetStateSensorReadings -i 24 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}
pldmtool platform SetStateEffecterStates -i 21 -c 1 -d 1 1
{
"Response": "SUCCESS"
}
pldmtool platform GetStateSensorReadings -i 24 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"

3. Example for cable card update for identify effecter
======================================================

pldmtool platform getpdr -d 305
{
"nextRecordHandle": 306,
"responseCount": 29,
"recordHandle": 305,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 10,
"entityType": "[Physical] Connector",
"entityInstanceNumber": 1,
"containerID": 10,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Identify State(17)",
"possibleStatesSize[0]": 1,
"possibleStates[0]": [
"Identify State Unasserted(1)",
"Identify State Asserted(2)"
]
}

pldmtool platform GetStateSensorReadings -i 13 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"
}

pldmtool platform SetStateEffecterStates -i 10 -c 1 -d 1 2
{
"Response": "SUCCESS"
}

pldmtool platform GetStateSensorReadings -i 13 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

4. Example for CPU update for identify LED
======================================

Set CPU -1 (Identify State - effecter) and verify with corresponding
CPU -1 (Identify State - sensor)

pldmtool platform GetStateSensorReadings -i 15 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"
}

pldmtool platform SetStateEffecterStates -i 12 -c 1 -d 1 2
{
"Response": "SUCCESS"
}

pldmtool platform GetStateSensorReadings -i 15 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

5. Example for CPU fault LED
============================

pldmtool platform getpdr -d 205
{
"nextRecordHandle": 206,
"responseCount": 29,
"recordHandle": 205,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 115,
"entityType": "[Physical] Processor",
"entityInstanceNumber": 3,
"containerID": 4,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Operational Fault Status(10)",
"possibleStatesSize[0]": 1,
"possibleStates[0]": [
"Normal(1)",
"Stressed(2)"
]
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0 xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

pldmtool platform SetStateEffecterStates -i 115 -c 1 -d 1 2 {
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.Inventory.Manager /xyz/openbmc_project/inventory/system/chassis/motherboard/dcm1/cpu0 xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

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

show more ...


/openbmc/pldm/.clang-format
/openbmc/pldm/.eslintignore
/openbmc/pldm/common/types.hpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
pdr/11.json
/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/libpldm/entity.h
/openbmc/pldm/libpldm/firmware_update.c
/openbmc/pldm/libpldm/firmware_update.h
/openbmc/pldm/libpldm/state_set.h
/openbmc/pldm/libpldm/tests/libpldm_firmware_update_test.cpp
/openbmc/pldm/libpldmresponder/base.cpp
/openbmc/pldm/libpldmresponder/base.hpp
/openbmc/pldm/libpldmresponder/bios.cpp
/openbmc/pldm/libpldmresponder/event_parser.cpp
/openbmc/pldm/libpldmresponder/event_parser.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/sensor_pdr.json
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/oem_handler.hpp
/openbmc/pldm/libpldmresponder/platform.cpp
/openbmc/pldm/libpldmresponder/test/event_jsons/good/event_state_sensor.json
/openbmc/pldm/libpldmresponder/test/libpldmresponder_base_test.cpp
/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/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/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/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
/openbmc/pldm/pldmd/pldmd.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_platform_cmd.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/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
06052cc516-Aug-2021 Brad Bishop <bradleyb@fuzziesquirrel.com>

build: un-hardcode prefix

/usr/share/pldm, /var/lib/pldm, and /etc are hardcoded in many places.
Workflows such as:
meson -Dprefix=$HOME/workspace -Dsysconfdir=$HOME/workspace builddir \
&& ninj

build: un-hardcode prefix

/usr/share/pldm, /var/lib/pldm, and /etc are hardcoded in many places.
Workflows such as:
meson -Dprefix=$HOME/workspace -Dsysconfdir=$HOME/workspace builddir \
&& ninja -C buildir install
result in pldmd looking for its data in the wrong place. Fix by
properly incorporating the user specified prefix into filesystem paths.

A number of paths remain hardcoded because they (presumably?) are owned
and provided by other packages (phosphor-software-manager) and those
packages do not provide any pkg-config from which we can extract their
installation prefixes.

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

show more ...


/openbmc/pldm/MAINTAINERS
/openbmc/pldm/OWNERS
/openbmc/pldm/README.md
/openbmc/pldm/common/test/meson.build
/openbmc/pldm/common/test/mocked_utils.hpp
/openbmc/pldm/common/utils.cpp
meson.build
/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_condition.cpp
/openbmc/pldm/host-bmc/host_condition.hpp
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/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/pldm_types.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/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.cpp
/openbmc/pldm/libpldmresponder/fru.hpp
/openbmc/pldm/libpldmresponder/fru_parser.cpp
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/meson.build
/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/meson.build
/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.cpp
/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
/openbmc/pldm/pldmd/pldmd.cpp
/openbmc/pldm/pldmd/service_files/pldmd.service
/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/meson.build
/openbmc/pldm/requester/test/mock_request.hpp
/openbmc/pldm/test/meson.build
/openbmc/pldm/tools/fw-update/pldm_fwup_pkg_creator.py
2e30eb1a06-Jul-2021 Sridevi Ramesh <sridevra@in.ibm.com>

pdr: Sensor support for various fault LEDS.

Also, added powersupply 2 and 3 support in 11.json

In this commit sensor fault LEDs support is added for connectors,
cablecard, processor, dasd_pyramid,

pdr: Sensor support for various fault LEDS.

Also, added powersupply 2 and 3 support in 11.json

In this commit sensor fault LEDs support is added for connectors,
cablecard, processor, dasd_pyramid, ddimm, nvme, pcieslot,
planar, battery and tpm_wilson.

Testing Result:
Note: Test results are mentioned based on the random LED assert true/false
operation for the specific LED type.

processor
==========

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/cpu0_fault xyz.openbmc_project.Led.Group Asserted b true

pldmtool platform GetStateSensorReadings -i 114 -r 1
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

Power Converter
==============

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/cpu1_vrm0_fault xyz.openbmc_project.Led.Group Asserted b false
pldmtool platform GetStateSensorReadings -i 117 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"
}

Drive backplane
====================

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/dasd_pyramid0_fault xyz.openbmc_project.Led.Group Asserted b true
pldmtool platform GetStateSensorReadings -i 118 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

System Board
=================

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/planar_fault xyz.openbmc_project.Led.Group Asserted b false
pldmtool platform GetStateSensorReadings -i 196 -r 0 {
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"
}

Battery
=========

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/rtc_battery_fault xyz.openbmc_project.Led.Group Asserted b false
pldmtool platform GetStateSensorReadings -i 201 -r 0 {
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Normal"
}

power supply
==========

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/powersupply3_fault xyz.openbmc_project.Led.Group Asserted b true
pldmtool platform GetStateSensorReadings -i 200 -r 0 {
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

Dimm
=========

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/ddimm2_fault xyz.openbmc_project.Led.Group Asserted b true

pldmtool platform GetStateSensorReadings -i 123 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

NVMe
======

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/nvme23_fault xyz.openbmc_project.Led.Group Asserted b true

pldmtool platform GetStateSensorReadings -i 183 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

PCIe slot
=============

busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/pcieslot0_fault xyz.openbmc_project.Led.Group Asserted b true

pldmtool platform GetStateSensorReadings -i 184 -r 0
{
"compositeSensorCount": 1,
"sensorOpState[0]": "Sensor Enabled",
"presentState[0]": "Sensor Normal",
"previousState[0]": "Sensor Unknown",
"eventState[0]": "Sensor Warning"
}

Change-Id: I795b075dd6cb3d18e6d8243b4540d2f0bb64b80b
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.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 ...


/openbmc/pldm/common/test/pldm_utils_test.cpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
fru_master.json
meson.build
/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/fru.hpp
/openbmc/pldm/libpldmresponder/fru_parser.cpp
/openbmc/pldm/libpldmresponder/fru_parser.hpp
/openbmc/pldm/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
/openbmc/pldm/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
/openbmc/pldm/libpldmresponder/test/libpldmresponder_fru_test.cpp
/openbmc/pldm/libpldmresponder/test/meson.build
/openbmc/pldm/meson.build
/openbmc/pldm/oem/ibm/configurations/bios/enum_attrs.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/configurations/fru_master.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
/openbmc/pldm/pldmd/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
5f4aec0923-Apr-2021 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM: Change rate_unit field to None

This commit has the change to the rate_unit field
of a numeric effecter for ScheduledHostTransition.
rate_unit was “per second” earlier and TPO epoch time
is sen

PLDM: Change rate_unit field to None

This commit has the change to the rate_unit field
of a numeric effecter for ScheduledHostTransition.
rate_unit was “per second” earlier and TPO epoch time
is sent as seconds so it becomes seconds per second
which doesn't make sense.

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

show more ...

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

PLDM: Remove Boot Progress entry from 11.json

Phyp is using a sensor to communicate the boot progress
state changes to pldm.This commit verifies that and removes
the Boot Progress entry from 11.json

PLDM: Remove Boot Progress entry from 11.json

Phyp is using a sensor to communicate the boot progress
state changes to pldm.This commit verifies that and removes
the Boot Progress entry from 11.json which was used earlier.

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

show more ...

06347d7927-May-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

pdr: sensor/effecter support for power supply fault leds

This is to support sensor/effecter pdrs for power supply
fault leds.

Tested By:

EFFECTER (Power Supply 0):

pldmtool platform GetPDR -d 251

pdr: sensor/effecter support for power supply fault leds

This is to support sensor/effecter pdrs for power supply
fault leds.

Tested By:

EFFECTER (Power Supply 0):

pldmtool platform GetPDR -d 251
{
"nextRecordHandle": 252,
"responseCount": 29,
"recordHandle": 251,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 108,
"entityType": "Power Supply",
"entityInstanceNumber": 1,
"containerID": 3,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set Fault On:
pldmtool raw -d 0x80 0x02 0x39 0x6C 0x00 0x01 0x01 0x01
Request Message:
08 01 80 02 39 6c 00 01 01 01
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

Set Fault Off:
pldmtool raw -d 0x80 0x02 0x39 0x6C 0x00 0x01 0x01 0x02
Request Message:
08 01 80 02 39 6c 00 01 01 02
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/powersupply0
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

SENSOR (Power Supply 1):

pldmtool platform GetPDR -d 143
{
"nextRecordHandle": 144,
"responseCount": 27,
"recordHandle": 143,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 111,
"entityType": "Power Supply",
"entityInstanceNumber": 2,
"containerID": 3,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set Fault On:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/powersupply1_fault
xyz.openbmc_project.Led.Group Asserted b false

pldmtool raw --data 0x80 0x02 0x21 0x6F 0x00 0x01 0x00
Request Message:
08 01 80 02 21 6f 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

Set Fault Off:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/powersupply1_fault
xyz.openbmc_project.Led.Group Asserted b true

pldmtool raw --data 0x80 0x02 0x21 0x6F 0x00 0x01 0x00
Request Message:
08 01 80 02 21 6f 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

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

show more ...

2f4f220220-May-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

pdr: dimm identify leds sensor/effecter support

This commit contains the addition of sensor/effecter pdrs for
dimm identify leds. Also updated the entity instance numbers
for enclosure identify and

pdr: dimm identify leds sensor/effecter support

This commit contains the addition of sensor/effecter pdrs for
dimm identify leds. Also updated the entity instance numbers
for enclosure identify and enclosure fault leds.

Testing Result:

SENSOR(dimm0):

pldmtool platform GetPDR -d 43
{
"nextRecordHandle": 44,
"responseCount": 27,
"recordHandle": 43,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 24,
"entityType": "142(OEM)",
"entityInstanceNumber": 1,
"containerID": 3,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/ddimm0_identify
xyz.openbmc_project.Led.Group Asserted b true

pldmtool raw --data 0x80 0x02 0x21 0x18 0x00 0x01 0x00
Request Message:
08 01 80 02 21 18 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

Set Off:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/ddimm0_identify
xyz.openbmc_project.Led.Group Asserted b false

pldmtool raw --data 0x80 0x02 0x21 0x18 0x00 0x01 0x00
Request Message:
08 01 80 02 21 18 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

EFFECTER(dimm31):

pldmtool platform GetPDR -d 181
{
"nextRecordHandle": 182,
"responseCount": 29,
"recordHandle": 181,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 53,
"entityType": "142(OEM)",
"entityInstanceNumber": 26,
"containerID": 3,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
pldmtool platform SetStateEffecterStates -i 53 -c 1 -d 1 2
{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/ddimm31_identify
xyz.openbmc_project.Led.Group Asserted
b true

Set Off:
pldmtool platform SetStateEffecterStates -i 53 -c 1 -d 1 1
{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/ddimm31_identify
xyz.openbmc_project.Led.Group Asserted
b false

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

show more ...

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

pdr: Fix property values corresponding to sensor states

According to: DSP0249_1.1.0 Table 1(Set ID: 17)
--------------------------------------------------------------
|17: | Identify State | For

pdr: Fix property values corresponding to sensor states

According to: DSP0249_1.1.0 Table 1(Set ID: 17)
--------------------------------------------------------------
|17: | Identify State | For entities that have an identify|
| | | function, such as LEDs. |
--------------------------------------------------------------
| | 1: Identity State | The entity's identify function is |
| | Unasserted | not asserted. |
| | 2: Identify State | The entity's identity function is |
| | Asserted | asserted. |
--------------------------------------------------------------

So states [1, 2] => [false, true]

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

show more ...

144ef2bd10-May-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

pdr: Sensor/Effecter support for identify leds

This commit contains the addition of sensor/effecter pdrs for
remaining supported identify leds like cable cards, dasd backplane,
nvme drives, pcie slo

pdr: Sensor/Effecter support for identify leds

This commit contains the addition of sensor/effecter pdrs for
remaining supported identify leds like cable cards, dasd backplane,
nvme drives, pcie slots, planar, powersupplys and the tod battery.

Testing Result:

EFFECTERS:

1) pldmtool platform GetPDR -d 26
{
"nextRecordHandle": 27,
"responseCount": 29,
"recordHandle": 26,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 5,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
pldmtool platform SetStateEffecterStates -i 5 -c 1 -d 1 1
{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify
xyz.openbmc_project.Led.Group Asserted
b true

Set Off:
pldmtool platform SetStateEffecterStates -i 5 -c 1 -d 1 2
{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/cablecard10_cxp_bot_identify
xyz.openbmc_project.Led.Group Asserted
b false

2) pldmtool platform GetPDR -d 66
{
"nextRecordHandle": 67,
"responseCount": 29,
"recordHandle": 66,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 45,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
pldmtool platform SetStateEffecterStates -i 45 -c 1 -d 1 1
{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/rtc_battery_identify
xyz.openbmc_project.Led.Group Asserted
b true

Set Off:
pldmtool platform SetStateEffecterStates -i 45 -c 1 -d 1 2

{
"Response": "SUCCESS"
}

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/rtc_battery_identify
xyz.openbmc_project.Led.Group Asserted
b false

SENSOR:

3) pldmtool platform GetPDR -d 126
{
"nextRecordHandle": 127,
"responseCount": 27,
"recordHandle": 126,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 47,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/rtc_battery_identify
xyz.openbmc_project.Led.Group Asserted b true

pldmtool raw --data 0x80 0x02 0x21 0x2F 0x00 0x01 0x00
Request Message:
08 01 80 02 21 2f 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

Set Off:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/rtc_battery_identify
xyz.openbmc_project.Led.Group Asserted b false

pldmtool raw --data 0x80 0x02 0x21 0x2F 0x00 0x01 0x00
Request Message:
08 01 80 02 21 2f 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

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

show more ...

df2fa47b04-May-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

pdr: Sensor/Effecter support for fan fault leds

This is to support sensor/effecter pdrs for fan fault leds.

Testing Result:
Note: sensor/effecter ids may change in the testing result as
testing was

pdr: Sensor/Effecter support for fan fault leds

This is to support sensor/effecter pdrs for fan fault leds.

Testing Result:
Note: sensor/effecter ids may change in the testing result as
testing was done with reduced pdrs for simplicity. Also test
result only mentioned below for corner scenarios that is for
fan0 and fan5.

SENSORS:

pldmtool platform GetPDR -d 25 (fan0)
{
"nextRecordHandle": 26,
"responseCount": 27,
"recordHandle": 25,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 6,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

fsn 0 Set On:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/fan0_fault
xyz.openbmc_project.Led.Group Asserted b true

pldmtool raw --data 0x80 0x02 0x21 0x06 0x00 0x01 0x00
Request Message:
08 01 80 02 21 06 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

fan0 Set Off:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/fan0_fault
xyz.openbmc_project.Led.Group Asserted b false

pldmtool raw --data 0x80 0x02 0x21 0x06 0x00 0x01 0x00
Request Message:
08 01 80 02 21 06 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

pldmtool platform GetPDR -d 30 (fan5)
{
"nextRecordHandle": 31,
"responseCount": 27,
"recordHandle": 30,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 11,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

fan 5 Set On:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/fan5_fault
xyz.openbmc_project.Led.Group Asserted b true

pldmtool raw --data 0x80 0x02 0x21 0x0B 0x00 0x01 0x00
Request Message:
08 01 80 02 21 0b 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

fan5 Set Off:
busctl set-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/fan5_fault
xyz.openbmc_project.Led.Group Asserted b false

pldmtool raw --data 0x80 0x02 0x21 0x0B 0x00 0x01 0x00
Request Message:
08 01 80 02 21 0b 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

EFFECTER:

pldmtool platform GetPDR -d 34 (fan0)
{
"nextRecordHandle": 35,
"responseCount": 29,
"recordHandle": 34,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 4,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

fan0 Set On:
pldmtool raw -d 0x80 0x02 0x39 0x04 0x00 0x01 0x01 0x01
Request Message:
08 01 80 02 39 04 00 01 01 01
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

fan0 Set Off:
pldmtool raw -d 0x80 0x02 0x39 0x04 0x00 0x01 0x01 0x02
Request Message:
08 01 80 02 39 04 00 01 01 02
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

pldmtool platform GetPDR -d 39 (fan5)
{
"nextRecordHandle": 40,
"responseCount": 29,
"recordHandle": 39,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 9,
"entityType": "0(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

fan5 Set Off:
pldmtool raw -d 0x80 0x02 0x39 0x09 0x00 0x01 0x01 0x02
Request Message:
08 01 80 02 39 09 00 01 01 02
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b false

fan5 Set On:
pldmtool raw -d 0x80 0x02 0x39 0x09 0x00 0x01 0x01 0x01
Request Message:
08 01 80 02 39 09 00 01 01 01
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.Inventory.Manager
/xyz/openbmc_project/inventory/system/chassis/motherboard/fan5
xyz.openbmc_project.State.Decorator.OperationalStatus Functional
b true

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

show more ...


/openbmc/pldm/MAINTAINERS
/openbmc/pldm/common/test/meson.build
/openbmc/pldm/common/test/mocked_utils.hpp
/openbmc/pldm/common/test/pldm_utils_test.cpp
pdr/11.json
pdr/4.json
/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/pdr.c
/openbmc/pldm/libpldm/pdr.h
/openbmc/pldm/libpldm/platform.c
/openbmc/pldm/libpldm/platform.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/fru_parser.hpp
/openbmc/pldm/libpldmresponder/meson.build
/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/libpldmresponder/file_io.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.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_oem_platform_test.cpp
/openbmc/pldm/pldmd/pldmd.cpp
/openbmc/pldm/test/meson.build
50304da514-Apr-2021 Jayashankar Padath <jayashankar.padath@in.ibm.com>

pdr: Sensor/Effecter support for enc fault and identify leds

This is to support sensor/effecter pdrs for enclosure fault led
and enclosure identify led.

Testing Result:

EFFECTER:

Enclosure Identi

pdr: Sensor/Effecter support for enc fault and identify leds

This is to support sensor/effecter pdrs for enclosure fault led
and enclosure identify led.

Testing Result:

EFFECTER:

Enclosure Identify Use Cases:

pldmtool platform GetPDR -d 55
{
"nextRecordHandle": 56,
"responseCount": 29,
"recordHandle": 55,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 2,
"entityType": "System chassis (main enclosure)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
pldmtool raw -d 0x80 0x02 0x39 0x02 0x00 0x01 0x01 0x01
Request Message:
08 01 80 02 39 02 00 01 01 01
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/enclosure_identify
xyz.openbmc_project.Led.Group Asserted
b true

Set Off:
pldmtool raw -d 0x80 0x02 0x39 0x02 0x00 0x01 0x01 0x02
Request Message:
08 01 80 02 39 02 00 01 01 02
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/enclosure_identify
xyz.openbmc_project.Led.Group Asserted
b false

Enclosure Fault Use Cases:

pldmtool platform GetPDR -d 56
{
"nextRecordHandle": 57,
"responseCount": 29,
"recordHandle": 56,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 3,
"entityType": "System chassis (main enclosure)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set state as On:
pldmtool raw -d 0x80 0x02 0x39 0x03 0x00 0x01 0x01 0x01
Request Message:
08 01 80 02 39 03 00 01 01 01
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/enclosure_fault
xyz.openbmc_project.Led.Group Asserted
b true

Set state as Off:
pldmtool raw -d 0x80 0x02 0x39 0x03 0x00 0x01 0x01 0x02
Request Message:
08 01 80 02 39 03 00 01 01 02
Response Message:
08 01 00 02 39 00

busctl get-property xyz.openbmc_project.LED.GroupManager
/xyz/openbmc_project/led/groups/enclosure_fault
xyz.openbmc_project.Led.Group Asserted
b false

SENSOR:

Enc Identify Use Cases:

pldmtool platform GetPDR -d 24
{
"nextRecordHandle": 25,
"responseCount": 27,
"recordHandle": 24,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 3,
"entityType": "System chassis (main enclosure)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "17",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
busctl set-property xyz.openbmc_project.LED.Controller.virtual_enc_id
/xyz/openbmc_project/led/physical/virtual_enc_id xyz.openbmc_project.Led.Physical
State s "xyz.openbmc_project.Led.Physical.Action.On"
pldmtool raw --data 0x80 0x02 0x21 0x03 0x00 0x01 0x00
Request Message:
08 01 80 02 21 03 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

Set Off:
busctl set-property xyz.openbmc_project.LED.Controller.virtual_enc_id
/xyz/openbmc_project/led/physical/virtual_enc_id xyz.openbmc_project.Led.Physical
State s "xyz.openbmc_project.Led.Physical.Action.Off"

pldmtool raw --data 0x80 0x02 0x21 0x03 0x00 0x01 0x00
Request Message:
08 01 80 02 21 03 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

Enc Fault Use Cases:

pldmtool platform GetPDR -d 25
{
"nextRecordHandle": 26,
"responseCount": 27,
"recordHandle": 25,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 17,
"PLDMTerminusHandle": 0,
"sensorID": 4,
"entityType": "System chassis (main enclosure)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "10",
"possibleStatesSize[0]": 1,
"possibleStates[0]": " 1 2"
}

Set On:
busctl set-property xyz.openbmc_project.LED.Controller.virtual_enc_fault
/xyz/openbmc_project/led/physical/virtual_enc_fault xyz.openbmc_project.Led.Physical
State s "xyz.openbmc_project.Led.Physical.Action.On"
pldmtool raw --data 0x80 0x02 0x21 0x04 0x00 0x01 0x00
Request Message:
08 01 80 02 21 04 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 01

Set Off:
busctl set-property xyz.openbmc_project.LED.Controller.virtual_enc_fault
/xyz/openbmc_project/led/physical/virtual_enc_fault xyz.openbmc_project.Led.Physical
State s "xyz.openbmc_project.Led.Physical.Action.Off"
pldmtool raw --data 0x80 0x02 0x21 0x04 0x00 0x01 0x00
Request Message:
08 01 80 02 21 04 00 01 00
Response Message:
08 01 00 02 21 00 01 00 01 00 02

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

show more ...

06f3441601-Mar-2021 Varsha Kaverappa <vkaverap@in.ibm.com>

PDR/Sensor/Effecter for BMC owned LEDs

PDR:
root@witherspoon-tacoma-YA30UF043011:/usr/bin# ./pldmtool platform GetPDR -d 9
{
"nextRecordHandle": 10,
"responseCount": 29,
"recordHandle":

PDR/Sensor/Effecter for BMC owned LEDs

PDR:
root@witherspoon-tacoma-YA30UF043011:/usr/bin# ./pldmtool platform GetPDR -d 9
{
"nextRecordHandle": 10,
"responseCount": 29,
"recordHandle": 9,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 2,
"entityType": "19(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID": "17",
"possibleStatesSize": 1,
"possibleStates": " 1 1 2"
}
root@witherspoon-tacoma-YA30UF043011:/usr/bin# ./pldmtool platform GetPDR -d 10
{
"nextRecordHandle": 11,
"responseCount": 29,
"recordHandle": 10,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"effecterID": 3,
"entityType": "19(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID": "10",
"possibleStatesSize": 1,
"possibleStates": " 1 1 2"
}

root@w80:~# pldmtool platform GetPDR -d 14
{
"nextRecordHandle": 15,
"responseCount": 23,
"recordHandle": 14,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 13,
"PLDMTerminusHandle": 0,
"sensorID": 1,
"entityType": "19(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 0
}
root@w80:~# pldmtool platform GetPDR -d 15
{
"nextRecordHandle": 0,
"responseCount": 23,
"recordHandle": 15,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 13,
"PLDMTerminusHandle": 0,
"sensorID": 2,
"entityType": "19(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 0
}

Write Effecter test:
root@w56:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/base_blyth_identify xyz.openbmc_project.Led.Group Asserted
b false
root@w56:~# pldmtool platform SetStateEffecterStates -i 2 -c 1 -d 1 1 --verbose
Request Message:
08 01 80 02 39 02 00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Success in creating the socket : RC = 4
Success in connecting to socket : RC = 0
Success in sending message type as pldm to mctp : RC = 0
Write to socket successful : RC = 24
Total length:6
Shutdown Socket successful : RC = 0
Response Message:
08 01 00 02 39 00
{
"Response": "SUCCESS"
}
root@w56:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/base_blyth_identify xyz.openbmc_project.Led.Group Asserted
b true

Sensor Read
root@rain104bmc:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/base_blyth_identify xyz.openbmc_project.Led.Group Asserted
b false
root@rain104bmc:~# pldmtool raw --data 0x80 0x02 0x21 0x01 0x00 0x01 0x00
Request Message:
08 01 80 02 21 01 00 01 00
Response Message:
08 01 00 02 21 00 01 00 00 00 02
root@rain104bmc:~# busctl set-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/base_blyth_identify xyz.openbmc_project.Led.Group Asserted b true
root@rain104bmc:~# busctl get-property xyz.openbmc_project.LED.GroupManager /xyz/openbmc_project/led/groups/base_blyth_identify xyz.openbmc_project.Led.Group Asserted
b true
root@rain104bmc:~# pldmtool raw --data 0x80 0x02 0x21 0x01 0x00 0x01 0x00
Request Message:
08 01 80 02 21 01 00 01 00
Response Message:
08 01 00 02 21 00 01 00 00 00 01

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

show more ...

ada39c0f10-Mar-2021 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM: Remove Boot Progress entry from 11.json

Phyp is using a sensor to communicate the boot progress
state changes to pldm.This commit verifies that and removes
the Boot Progress entry from 11.json

PLDM: Remove Boot Progress entry from 11.json

Phyp is using a sensor to communicate the boot progress
state changes to pldm.This commit verifies that and removes
the Boot Progress entry from 11.json which was used earlier.

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

show more ...

a1d2760617-Apr-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Replace deprecated get_pkgconfig_variable with get_variable

- Meson 0.57 warns that get_pkgconfig_variable is deprecated and
we should be using get_variable instead.

Tested By:

Setup docker, and

Replace deprecated get_pkgconfig_variable with get_variable

- Meson 0.57 warns that get_pkgconfig_variable is deprecated and
we should be using get_variable instead.

Tested By:

Setup docker, and made sure the service files are installed in the
desired directory.

Installing /home/juliet/Documents/Work/docker/ci_test_area/pldm/build/pldmd.service to /lib/systemd/system
Installing /home/juliet/Documents/Work/docker/ci_test_area/pldm/build/pldm_verbosity to /etc/default
Installing /home/juliet/Documents/Work/docker/ci_test_area/pldm/build/softoff/pldmSoftPowerOff.service to /lib/systemd/system

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

show more ...


/openbmc/pldm/.gitignore
/openbmc/pldm/MAINTAINERS
meson.build
/openbmc/pldm/libpldm/fru.c
/openbmc/pldm/libpldm/meson.build
/openbmc/pldm/libpldm/pldm.h
/openbmc/pldm/libpldm/tests/meson.build
/openbmc/pldm/libpldmresponder/bios_enum_attribute.cpp
/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/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/libpldm/file_io.h
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_by_type.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/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.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
3103e44e22-Jan-2021 Matt Spinler <spinler@us.ibm.com>

Add emergency power off alert state sensor defs

Add PDR definitions for new state sensors for power off alerts due to
high ambient temperatures. These sensors have entity ID 5, external
environment

Add emergency power off alert state sensor defs

Add PDR definitions for new state sensors for power off alerts due to
high ambient temperatures. These sensors have entity ID 5, external
environment, and use the 'health state' state set 1

The hard shutdown alert uses value 9, upper fatal, and the soft
shutdown alert uses value 7, upper critical.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I8c3a99b622baa6398fc9f9c6fbd3100137e75e77

show more ...

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

Fix the dbus object path for bmc effecter

- This commit would fix the object path of the bmc effecter
that sets the ScheduledTime dbus property.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmai

Fix the dbus object path for bmc effecter

- This commit would fix the object path of the bmc effecter
that sets the ScheduledTime dbus property.

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

show more ...

b1eb21e703-Mar-2021 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM:JSON change for BootProgress as Host Sensor

In this commit BootProgress is changed as Host Sensor
in the BMC as a responder flow. This commit implements
a change in the JSON structure.

Tested

PLDM:JSON change for BootProgress as Host Sensor

In this commit BootProgress is changed as Host Sensor
in the BMC as a responder flow. This commit implements
a change in the JSON structure.

Tested : By using pldmtool PlatformEventMessage is sent and the
Dbus property is verified.

./pldmtool platform getpdr -d 15 -m 9
{
"nextRecordHandle": 0,
"responseCount": 29,
"recordHandle": 15,
"PDRHeaderVersion": 1,
"PDRType": "State Sensor PDR",
"recordChangeNumber": 0,
"dataLength": 19,
"PLDMTerminusHandle": 1,
"sensorID": 4,
"entityType": "32801(OEM)",
"entityInstanceNumber": 0,
"containerID": 0,
"sensorInit": "noInit",
"sensorAuxiliaryNamesPDR": false,
"compositeSensorCount": 1,
"stateSetID[0]": "Boot Progress(196)",
"possibleStatesSize[0]": 3,
"possibleStates[0]": " 1 2 7 9 21"
}
root@w74-emmc-tacoma:~# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.On
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Running
BootProgress : xyz.openbmc_project.State.Boot.Progress.ProgressStages.SystemInitComplete
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive

pldmtool raw --data 0x80 0x02 0x0A 0x01 0xD0 0x00 0x04 0x00 0x01 0x00 0x09 0x01
Request Message:
08 01 80 02 0a 01 d0 00 04 00 01 00 09 01
Response Message:
08 01 00 02 0a 00 00

root@w74-emmc-tacoma:~# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.On
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Running
BootProgress : xyz.openbmc_project.State.Boot.Progress.ProgressStages.PCIInit
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive

pldmtool raw --data 0x80 0x02 0x0A 0x01 0xD0 0x00 0x04 0x00 0x01 0x00 0x01 0x01
Request Message:
08 01 80 02 0a 01 d0 00 04 00 01 00 01 01
Response Message:
08 01 00 02 0a 00 00
root@w74-emmc-tacoma:~# obmcutil state
CurrentBMCState : xyz.openbmc_project.State.BMC.BMCState.Ready
CurrentPowerState : xyz.openbmc_project.State.Chassis.PowerState.On
CurrentHostState : xyz.openbmc_project.State.Host.HostState.Running
BootProgress : xyz.openbmc_project.State.Boot.Progress.ProgressStages.Unspecified
OperatingSystemState: xyz.openbmc_project.State.OperatingSystem.Status.OSStatus.Inactive

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

show more ...

c0d4875914-Jan-2021 Matt Spinler <spinler@us.ibm.com>

Add thermal fault state sensor definition

Add a PDR definition for a new state sensor that is used to describe a
thermal fault. This sensor has entity ID 91, cooling subsystem, and
uses the thermal

Add thermal fault state sensor definition

Add a PDR definition for a new state sensor that is used to describe a
thermal fault. This sensor has entity ID 91, cooling subsystem, and
uses the thermal trip state set, 21.

The D-Bus property behind it is provided by the phosphor-fan-monitor
application. On IBM systems, this will be used to notify the host of
impending shutdowns due to fan faults.

At the current time, phosphor-fan-monitor only runs when system power is
on.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia0fb8829fc602a40c7901b41223a54fc408461ea

show more ...

96a3a04810-Feb-2021 Andrew Geissler <geissonator@yahoo.com>

utilize hypervisor property for effecter

The BootMode property is tied to the pvm_stop_at_standby BIOS attribute.
The user utilizes BootMode (via a Redfish or IPMI interface) to tell the
firmware th

utilize hypervisor property for effecter

The BootMode property is tied to the pvm_stop_at_standby BIOS attribute.
The user utilizes BootMode (via a Redfish or IPMI interface) to tell the
firmware the expectation of the boot. It is not meant as an action for
the host (i.e. move from one state to another).

This commit moves PLDM over to monitoring the hypervisor object and the
RequestedHostTransition property on that object to know when to set this
effecter.

A series of commits under this topic are transitioning the external
interfaces over to this concept:
https://gerrit.openbmc-project.xyz/q/topic:%22hyp-state%22+(status:open%20OR%20status:merged)

Tested:
- Built image with all related changes and verified hypervisor state
correctly tracked with BootProgress and that requesting an On
transition successfully made it to the hypervisor.

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

show more ...


/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
host/dbus_to_host_effecter.json
/openbmc/pldm/host-bmc/host_pdr_handler.cpp
/openbmc/pldm/host-bmc/host_pdr_handler.hpp
/openbmc/pldm/libpldm/platform.c
/openbmc/pldm/libpldm/tests/libpldm_platform_test.cpp
/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.cpp
/openbmc/pldm/libpldmresponder/platform_state_sensor.hpp
/openbmc/pldm/meson.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/configurations/bios/enum_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_dump.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_dump.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/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/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/pldmd/pldmd.cpp
/openbmc/pldm/pldmd/service_files/pldmd.service
/openbmc/pldm/pldmtool/pldm_cmd_helper.cpp
/openbmc/pldm/pldmtool/pldm_cmd_helper.hpp
/openbmc/pldm/test/libpldmresponder_platform_test.cpp
a907a58819-Jan-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Upstream BIOS Attributes under oem extensions

- This commit would upstream all the bios attributes
that ibm machines use.
- These attributes will be copied onto the BMC when
it is compiled with

Upstream BIOS Attributes under oem extensions

- This commit would upstream all the bios attributes
that ibm machines use.
- These attributes will be copied onto the BMC when
it is compiled with oem-ibm flag enabled.

Tested By:
- meson builddir -Doem-ibm=enabled -Dprefix=<>
- ninja -C builddir
- ninja install

Post install step, was able to see all the bios attribute
jsons inside <prefix>/share/pldm/bios folder.

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

show more ...

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

Update State Effecter PDR to support BMC Reboot

- This commit would enable the state effecter PDR on BMC to
support BMC Reboot.

Tested By:

# pldmtool platform getpdr -d 25
{
"nextRecordHandl

Update State Effecter PDR to support BMC Reboot

- This commit would enable the state effecter PDR on BMC to
support BMC Reboot.

Tested By:

# pldmtool platform getpdr -d 25
{
"nextRecordHandle": 26,
"responseCount": 30,
"recordHandle": 25,
"PDRHeaderVersion": 1,
"PDRType": "State Effecter PDR",
"recordChangeNumber": 0,
"dataLength": 20,
"PLDMTerminusHandle": 1,
"effecterID": 4,
"entityType": "Management Controller",
"entityInstanceNumber": 0,
"containerID": 0,
"effecterSemanticID": 0,
"effecterInit": "noInit",
"effecterDescriptionPDR": false,
"compositeEffecterCount": 1,
"stateSetID[0]": "Availability(2)",
"possibleStatesSize[0]": 2,
"possibleStates[0]": " 8"
}

# pldmtool platform SetStateEffecterStates -v -i 4 -c 1 -d 1 8
Request Message:
08 01 80 02 39 04 00 01 01 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Success in creating the socket : RC = 4
Success in connecting to socket : RC = 0
Success in sending message type as pldm to mctp : RC = 0
Write to socket successful : RC = 24
Total length:6
Shutdown Socket successful : RC = 0
Response Message:
08 01 00 02 39 00
{
"Response": "SUCCESS"
}

Post receiving SUCCESS, the BMC was rebooted.

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

show more ...


/openbmc/pldm/MAINTAINERS
/openbmc/pldm/common/types.hpp
/openbmc/pldm/common/utils.cpp
/openbmc/pldm/common/utils.hpp
pdr/11.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.build
/openbmc/pldm/meson_options.txt
/openbmc/pldm/oem/ibm/libpldm/file_io.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_cert.cpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_cert.hpp
/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_lid.hpp
/openbmc/pldm/oem/ibm/libpldmresponder/file_io_type_pel.cpp
/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/test/libpldmresponder_fileio_test.cpp
/openbmc/pldm/oem/ibm/test/libpldmresponder_oem_platform_test.cpp
/openbmc/pldm/pldmd/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
8fc3edbc14-Dec-2020 Pavithra Barithaya <pavithra.b@ibm.com>

PLDM: BootProgress as Host Sensor in the BMC as a responder flow

This commit implements BootProgress as a host sensor
instead of the effecter.
The Boot progress effecter on BMC is updated by the hos

PLDM: BootProgress as Host Sensor in the BMC as a responder flow

This commit implements BootProgress as a host sensor
instead of the effecter.
The Boot progress effecter on BMC is updated by the host
using SetStateEffecterStates command. The Boot Progress will
be implemented as a host state sensor and
host will send a sensor event to BMC.

Tested : By using pldmtool PlatformEventMessage is sent and the
Dbus property is verified.

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

show more ...

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

Remove redundant dependency calls

- In the current state, the build system has too many
dependency calls, because of which meson tries to find
the same dependendency mutiple times & prints a tra

Remove redundant dependency calls

- In the current state, the build system has too many
dependency calls, because of which meson tries to find
the same dependendency mutiple times & prints a trace
on the console.This would have been an ideal solution
when all the subdirectories are subprojects in meson but
in the current context it is not.

- Even though meson uses the cached dependency objects
rather than fetching them every time, it might not
give any added advantage on the performance front.

- But checking for the same dependency mutiple times gives
a false impression to the users & this can be avoided by
re-using the dependency objects across subdirectories.

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

show more ...

da07960105-Aug-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

FRU: simplify BMC FRU table construction

We should be able to map standard D-Bus FRU inventory properties to
standard FRU properties from the PLDM FRU spec.
This commit will simplify things by remov

FRU: simplify BMC FRU table construction

We should be able to map standard D-Bus FRU inventory properties to
standard FRU properties from the PLDM FRU spec.
This commit will simplify things by removing JSONs for standard FRUs.

The standard FRU jsons are not going to be installed, we have mandated
the default DBUS lookup and setup Default Fru record map.
If OEM FRU JSONs are present then only those will be parsed by the
parser.

Tested on rainier with the pldmtool.

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

show more ...

123