Add PDR and BIOS support for Balcones
This commit adds the necessary changes needed to support the new
Balcones system. Below are the main changes
1. Sensors and effecters for Memory Boards
2. Sensors and effecters for single Cable Card
3. Power states for nvme drives
Tested By:
Tested with different system configurations and verified that
both PDR and BIOS tables are picked up correctly according
to the system specific json files
oem-ibm flag:
Change successfully built with -Doem-ibm=disabled
Change-Id: Ic39b7078f8a19ca00dec7ce8b4014ee2659b7776
Signed-off-by: Jayashankar Padath <jayashankarpadath@gmail.com>
diff --git a/configurations/meson.build b/configurations/meson.build
index e5d093b..42eaf68 100644
--- a/configurations/meson.build
+++ b/configurations/meson.build
@@ -37,5 +37,10 @@
'../oem/ibm/configurations/host_eid',
install_dir: package_datadir,
)
+ install_symlink(
+ 'com.ibm.Hardware.Chassis.Model.Balcones',
+ pointing_to: 'com.ibm.Hardware.Chassis.Model.Bonnell',
+ install_dir: join_paths(package_datadir, 'bios'),
+ )
endif
diff --git a/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/11.json b/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/11.json
new file mode 100644
index 0000000..a9b22a8
--- /dev/null
+++ b/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/11.json
@@ -0,0 +1,714 @@
+{
+ "effecterPDRs": [
+ {
+ "pdrType": 11,
+ "entries": [
+ {
+ "type": 45,
+ "instance": 1,
+ "container": 1,
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/enclosure_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/base_op_panel_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_bot_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_top_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 0,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 1,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 2,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 3,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm3_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme3_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "effecters": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/pcieslot2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 45,
+ "instance": 1,
+ "container": 1,
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/enclosure_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 0,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm0",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 1,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm1",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 2,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm2",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 3,
+ "container": 3,
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/dimm3",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "effecters": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "interface": "xyz.openbmc_project.State.Decorator.OperationalStatus",
+ "property_name": "Functional",
+ "property_type": "bool",
+ "property_values": [true, false]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "effecters": [
+ {
+ "set": {
+ "id": 257,
+ "size": 1,
+ "states": [0, 1, 4]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "interface": "xyz.openbmc_project.State.Decorator.PowerState",
+ "property_name": "PowerState",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.On",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Off"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "effecters": [
+ {
+ "set": {
+ "id": 257,
+ "size": 1,
+ "states": [0, 1, 4]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "interface": "xyz.openbmc_project.State.Decorator.PowerState",
+ "property_name": "PowerState",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.On",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Off"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "effecters": [
+ {
+ "set": {
+ "id": 257,
+ "size": 1,
+ "states": [0, 1, 4]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "interface": "xyz.openbmc_project.State.Decorator.PowerState",
+ "property_name": "PowerState",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.On",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Off"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "effecters": [
+ {
+ "set": {
+ "id": 257,
+ "size": 1,
+ "states": [0, 1, 4]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "interface": "xyz.openbmc_project.State.Decorator.PowerState",
+ "property_name": "PowerState",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.On",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Off"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "effecters": [
+ {
+ "set": {
+ "id": 257,
+ "size": 1,
+ "states": [0, 1, 4]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "interface": "xyz.openbmc_project.State.Decorator.PowerState",
+ "property_name": "PowerState",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Unknown",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.On",
+ "xyz.openbmc_project.State.Decorator.PowerState.State.Off"
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/4.json b/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/4.json
new file mode 100644
index 0000000..496051a
--- /dev/null
+++ b/configurations/pdr/com.ibm.Hardware.Chassis.Model.Balcones/4.json
@@ -0,0 +1,605 @@
+{
+ "sensorPDRs": [
+ {
+ "pdrType": 4,
+ "entries": [
+ {
+ "type": 45,
+ "instance": 1,
+ "container": 1,
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/physical/virtual_enc_id",
+ "interface": "xyz.openbmc_project.Led.Physical",
+ "property_name": "State",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.Led.Physical.Action.Off",
+ "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/base_op_panel_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_bot_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_top_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 0,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 1,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 2,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 3,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm3_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme0_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme1_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme3_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "sensors": [
+ {
+ "set": {
+ "id": 17,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/pcieslot2_identify",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 45,
+ "instance": 1,
+ "container": 1,
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/physical/virtual_enc_fault",
+ "interface": "xyz.openbmc_project.Led.Physical",
+ "property_name": "State",
+ "property_type": "string",
+ "property_values": [
+ "xyz.openbmc_project.Led.Physical.Action.Off",
+ "xyz.openbmc_project.Led.Physical.Action.On || xyz.openbmc_project.Led.Physical.Action.Blink"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/base_op_panel_blyth",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/base_op_panel_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_bot",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_bot_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2/pcie_card2/cxp_top",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/cablecard2_cxp_top_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 0,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm0_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 1,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm1_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 2,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm2_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "type": 65,
+ "instance": 3,
+ "container": 3,
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/dimm3_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan0",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan0_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/fan1",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/fan1_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme0",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme0_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme1",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme1_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme2",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme2_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/disk_backplane0/nvme3",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/nvme3_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ },
+ {
+ "entity_path": "/xyz/openbmc_project/inventory/system/chassis/motherboard/pcieslot2",
+ "sensors": [
+ {
+ "set": {
+ "id": 10,
+ "size": 1,
+ "states": [1, 2]
+ },
+ "dbus": {
+ "path": "/xyz/openbmc_project/led/groups/pcieslot2_fault",
+ "interface": "xyz.openbmc_project.Led.Group",
+ "property_name": "Asserted",
+ "property_type": "bool",
+ "property_values": [false, true]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/libpldmresponder/bios_config.cpp b/libpldmresponder/bios_config.cpp
index 6b1b918..401877c 100644
--- a/libpldmresponder/bios_config.cpp
+++ b/libpldmresponder/bios_config.cpp
@@ -87,9 +87,9 @@
{
sysType = systemType;
fs::path dir{jsonDir / sysType};
- if (!fs::exists(dir))
+ if (!fs::exists(dir) && !fs::is_symlink(dir))
{
- error("System specific bios attribute directory {DIR} does not exit",
+ error("System specific bios attribute directory {DIR} does not exist",
"DIR", dir);
if (registerService)
{
diff --git a/libpldmresponder/platform_config.cpp b/libpldmresponder/platform_config.cpp
index 8f181f1..aa7f15d 100644
--- a/libpldmresponder/platform_config.cpp
+++ b/libpldmresponder/platform_config.cpp
@@ -150,15 +150,15 @@
return std::nullopt;
}
- for (const auto& dirEntry : std::filesystem::directory_iterator{dirPath})
+ for (const auto& compatibleName : dirNames)
{
- if (dirEntry.is_directory())
+ for (const auto& dirEntry :
+ std::filesystem::directory_iterator{dirPath})
{
- const auto sysDir = dirEntry.path().filename().string();
- if (std::find(dirNames.begin(), dirNames.end(), sysDir) !=
- dirNames.end())
+ if (dirEntry.is_directory() &&
+ (compatibleName == dirEntry.path().filename()))
{
- return sysDir;
+ return compatibleName;
}
}
}