phosphor-bmc-code-mgmt: revise JedFileParser to support LCMXO3 series

checking UFM and ensure checksum calculated correctly.

sync code from:
[1] https://github.com/facebook/openbmc/commit/7c656105a7e36b76adb1a1b5a3eed98b0ada43a2

Tested on YV5 POC:
'''
ken@ken-All-Series:~$ curl --silent $creds https://$bmc/redfish/v1/UpdateService/FirmwareInventory/
{
  "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory",
  "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection",
  "Members": [
    {
      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/6116e97d"
    },
    {
      "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/YV5_SCM_CPLD_9224"
    }
  ],
  "Members@odata.count": 2,
  "Name": "Software Inventory Collection"
}

ken@ken-All-Series:~$curl -k ${creds} -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/UpdateService/FirmwareInventory/YV5_SCM_CPLD_9224\"],\"@Redfish.OperationApplyTime\":\"Immediate\"};type=application/json"   -F "UpdateFile=@${fwpath};type=application/octet-stream"   https://${bmc}/redfish/v1/UpdateService/update-multipart
{
  "@odata.id": "/redfish/v1/TaskService/Tasks/0",
  "@odata.type": "#Task.v1_4_3.Task",
  "HidePayload": false,
  "Id": "0",
  "Messages": [
    {
      "@odata.type": "#Message.v1_1_1.Message",
      "Message": "The task with Id '0' has started.",
      "MessageArgs": [
        "0"
      ],
      "MessageId": "TaskEvent.1.0.TaskStarted",
      "MessageSeverity": "OK",
      "Resolution": "None."
    }
  ],
  "Name": "Task 0",
  "Payload": {
    "HttpHeaders": [],
    "HttpOperation": "POST",
    "TargetUri": "/redfish/v1/UpdateService/update-multipart"
  },
  "PercentComplete": 0,
  "StartTime": "2025-07-09T07:09:41+00:00",
  "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0",
  "TaskState": "Running",
  "TaskStatus": "OK"
}
'''

Change-Id: I4cb953e25e9c09eee2fa511c787b57bfa787e78e
Signed-off-by: Ken Chen <Ken.Chen@quantatw.com>
2 files changed
tree: 6adbaf474a466bdebf077fe9bf6e9aad9d199595
  1. bios/
  2. bmc/
  3. common/
  4. cpld/
  5. eeprom-device/
  6. i2c-vr/
  7. subprojects/
  8. test/
  9. .clang-format
  10. .clang-tidy
  11. .gitignore
  12. .shellcheck
  13. LICENSE
  14. meson.build
  15. meson.options
  16. OWNERS
  17. README.md
README.md

phosphor-bmc-code-mgmt

Phosphor BMC Code Management provides a set of system software management applications. More information can be found at Software Architecture

To Build

To build this package, do the following steps:

  1. meson build
  2. ninja -C build

To clean the repository run rm -r build.