meta-yosemitev2: add system get/set guid support

Added get/set system GUID command for multi host YosemiteV2,
it reads/writes guid to the corresponding hosts Bridge IC(BIC).

Tested:

Verified this with host reboot(BIOS automatically
sends get GUID command to BMC).

Verified this ipmitool.
 Get System GUID:
 ipmitool raw 60x37

 Set System GUID:
 ipmitool raw 0x30 0xEF 0 252 109 1 0 135 236 73 26
 54 249 84 1 1 80 7 8

Signed-off-by: Manikandan Elumalai <manikandan.hcl.ers.epl@gmail.com>
Change-Id: I4d24a2fb4bf98f38afd7c0d07df0005c22535d48
diff --git a/src/usb-dbg.cpp b/src/usb-dbg.cpp
index 2588f81..965b564 100644
--- a/src/usb-dbg.cpp
+++ b/src/usb-dbg.cpp
@@ -880,6 +880,35 @@
     return -1;
 }
 
+int sendBicCmd(uint8_t netFn, uint8_t cmd, uint8_t bicAddr,
+               std::vector<uint8_t>& cmdData, std::vector<uint8_t>& respData)
+{
+    static constexpr uint8_t lun = 0;
+
+    auto bus = getSdBus();
+
+    auto method = bus->new_method_call("xyz.openbmc_project.Ipmi.Channel.Ipmb",
+                                       "/xyz/openbmc_project/Ipmi/Channel/Ipmb",
+                                       "org.openbmc.Ipmb", "sendRequest");
+    method.append(bicAddr, netFn, lun, cmd, cmdData);
+
+    auto reply = bus->call(method);
+    if (reply.is_method_error())
+    {
+        phosphor::logging::log<phosphor::logging::level::ERR>(
+            "Error reading from BIC");
+        return -1;
+    }
+
+    IpmbMethodType resp;
+    reply.read(resp);
+
+    respData =
+        std::move(std::get<std::remove_reference_t<decltype(respData)>>(resp));
+
+    return 0;
+}
+
 int sendMeCmd(uint8_t netFn, uint8_t cmd, std::vector<uint8_t>& cmdData,
               std::vector<uint8_t>& respData)
 {