PEL: Added phal specific service action support

This commits enables the basic infrastructure to add service
actions(guard/deconfigure) supports for "phal"  feature enabled
systems. Also enabled "guard" related service , which includes
creating guard D-Bus object using hardware isolation D-Bus api's

To enable this support, PEL users has to include the array of
JSON callouts, which includes the below required informations.
"EntityPath": entity path of the hardware from the PHAL device tree.
"GuardType":  Guard type string defined libekb_p10.
"Guarded": boolean, true to create guard records.

Tested: created guard records and verified
root@xxxx:~# guard -l
ID       | ERROR    |  Type  | Path
00000001 | 50000684 | fatal | physical:sys-0/node-0/proc-0
00000002 | 50000685 | fatal | physical:sys-0/node-0/proc-1
00000003 | 50000686 | fatal | physical:sys-0/node-0/proc-2
00000004 | 50000687 | fatal | physical:sys-0/node-0/proc-3

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: Ibc57ae0363cd5fb9facd2ed7049a70806a5b891e
diff --git a/extensions/openpower-pels/pel.cpp b/extensions/openpower-pels/pel.cpp
index 8f397cd..30fbf51 100644
--- a/extensions/openpower-pels/pel.cpp
+++ b/extensions/openpower-pels/pel.cpp
@@ -13,6 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+#include "config.h"
+
 #include "pel.hpp"
 
 #include "bcd_time.hpp"
@@ -29,6 +31,7 @@
 #include "user_data_formats.hpp"
 
 #ifdef PEL_ENABLE_PHAL
+#include "phal_service_actions.hpp"
 #include "sbe_ffdc_handler.hpp"
 #endif
 
@@ -154,6 +157,11 @@
         addUserDataSection(std::move(ud));
     }
 
+#ifdef PEL_ENABLE_PHAL
+    auto path = std::string(OBJ_ENTRY) + '/' + std::to_string(obmcLogID);
+    openpower::pels::phal::createServiceActions(callouts, path, dataIface);
+#endif
+
     // Store in the PEL any important debug data created while
     // building the PEL sections.
     if (!debugData.empty())