dsp: firmware_update: Stabilized new firmware package parsing ABI
Below new APIs will be consumed by openbmc/pldm[1]:
- `decode_pldm_firmware_update_package()`
- `pldm_package_firmware_device_id_record_iter_init()`
- `decode_pldm_package_firmware_device_id_record_from_iter()`
- `pldm_package_downstream_device_id_record_iter_init()`
- `decode_pldm_package_downstream_device_id_record_from_iter()`
- `pldm_package_component_image_information_iter_init()`
- `decode_pldm_package_component_image_information_from_iter()`
- The newly added APIs uses iterators to parse the firmware update
packages, which provide the efficiency and safety benefits than the
old ones.
- The new APIs support DSP0267 v1.1.0 to v1.3.0, which provides
additional fields in the firmware update package.
- Since the old APIs will be soon marked as deprecated, this is a good
opportunity to stabilize the new APIs.
- Build pass and passed google test on CI.
- Build pass and tested successfully on Yosemite4.
[1]: https://gerrit.openbmc.org/c/openbmc/pldm/+/80194
Change-Id: I44bd1be07b0cb19a7a1044d6b36e26ffbd771285
Signed-off-by: Unive Tien <unive.tien.wiwynn@gmail.com>
Signed-off-by: Carter Chen <carter.chen.wiwynn@gmail.com>
diff --git a/src/dsp/firmware_update.c b/src/dsp/firmware_update.c
index 0f757ba..7381546 100644
--- a/src/dsp/firmware_update.c
+++ b/src/dsp/firmware_update.c
@@ -3255,7 +3255,7 @@
return pldm_msgbuf_complete_used(buf, *payload_length, payload_length);
}
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int decode_pldm_firmware_update_package(
const void *data, size_t length,
const struct pldm_package_format_pin *pin,
@@ -3274,7 +3274,7 @@
pkg);
}
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int pldm_package_firmware_device_id_record_iter_init(struct pldm_package *pkg)
{
struct pldm_package_iter *iter;
@@ -3321,7 +3321,7 @@
return pldm_msgbuf_complete(buf);
}
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int decode_pldm_package_firmware_device_id_record_from_iter(
struct pldm_package *pkg LIBPLDM_CC_UNUSED,
struct pldm_package_firmware_device_id_record *rec)
@@ -3338,7 +3338,7 @@
pkg->hdr, &pkg->iter.field, rec);
}
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int pldm_package_downstream_device_id_record_iter_init(struct pldm_package *pkg)
{
struct pldm_package_iter *iter;
@@ -3403,7 +3403,7 @@
}
#define PLDM_FWUP_DOWNSTREAM_DEVICE_ID_RECORD_MIN_SIZE 11
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int decode_pldm_package_downstream_device_id_record_from_iter(
struct pldm_package *pkg,
struct pldm_package_downstream_device_id_record *rec)
@@ -3521,7 +3521,7 @@
return pldm_msgbuf_complete_consumed(buf);
}
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int pldm_package_component_image_information_iter_init(struct pldm_package *pkg)
{
struct pldm_package_iter *iter;
@@ -3583,7 +3583,7 @@
}
#define PLDM_FWUP_COMPONENT_IMAGE_INFORMATION_MIN_SIZE 22
-LIBPLDM_ABI_TESTING
+LIBPLDM_ABI_STABLE
int decode_pldm_package_component_image_information_from_iter(
struct pldm_package *pkg,
struct pldm_package_component_image_information *info)