oem-ibm: Change the primary postcode signature

The signature of the primary SRC has been changed from uint64_t to
array[uint8_t] [1], and pldm code is still using the old signature
hence the progress code function is broken. This commit fixes the
problem.

[1]: https://gerrit.openbmc.org/q/topic:%22primary-postcode-new-intf%22

Change-Id: I2cb12e550995af82eff9c5d2c84054d62985ced1
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
diff --git a/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp b/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
index f6d9db3..812bc4f 100644
--- a/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
+++ b/oem/ibm/libpldmresponder/file_io_type_progress_src.cpp
@@ -13,7 +13,8 @@
 {
 
 int ProgressCodeHandler::setRawBootProperty(
-    const std::tuple<uint64_t, std::vector<uint8_t>>& progressCodeBuffer)
+    const std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>&
+        progressCodeBuffer)
 {
     static constexpr auto RawObjectPath =
         "/xyz/openbmc_project/state/boot/raw0";
@@ -31,9 +32,11 @@
             pldm::utils::DBusHandler().getService(RawObjectPath, RawInterface);
         auto method = bus.new_method_call(service.c_str(), RawObjectPath,
                                           FreedesktopInterface, SetMethod);
-        method.append(RawInterface, RawProperty,
-                      std::variant<std::tuple<uint64_t, std::vector<uint8_t>>>(
-                          progressCodeBuffer));
+        method.append(
+            RawInterface, RawProperty,
+            std::variant<
+                std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>>(
+                progressCodeBuffer));
 
         bus.call_noreply(method, dbusTimeout);
     }
@@ -61,14 +64,8 @@
 
         // Get the primary code from the offset 40 bytes in the received buffer
 
-        std::vector<uint8_t> primaryCodeArray(
-            secondaryCode.begin() + StartOffset,
-            secondaryCode.begin() + EndOffset);
-        uint64_t primaryCode = 0;
-
-        // form a uint64_t using uint8_t[8]
-        for (int i = 0; i < 8; i++)
-            primaryCode |= (uint64_t)primaryCodeArray[i] << 8 * i;
+        std::vector<uint8_t> primaryCode(secondaryCode.begin() + StartOffset,
+                                         secondaryCode.begin() + EndOffset);
 
         return setRawBootProperty(std::make_tuple(primaryCode, secondaryCode));
     }
diff --git a/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp b/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
index ca0ef25..4beb433 100644
--- a/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_progress_src.hpp
@@ -59,7 +59,8 @@
      *  @param[in] progressCodeBuffer - the progress Code SRC Buffer
      */
     virtual int setRawBootProperty(
-        const std::tuple<uint64_t, std::vector<uint8_t>>& progressCodeBuffer);
+        const std::tuple<std::vector<uint8_t>, std::vector<uint8_t>>&
+            progressCodeBuffer);
 
     /** @brief ProgressCodeHandler destructor
      */