PHAL: Add new service file to indicate guard actions.

- Currently, the host is in the infinite loop to boot if the host
  firmware trying to recover resources and informs that to the BMC by
  the graceful boot request.

  - The PHAL will try to apply guard records in all types of boots.

  - The host firmware will try to recover resources if that's are
    guarded and did not meet the minimum hardware check to boot
    the host and initiate a graceful boot to adjust boot params
    (HWAS_STATE).

  - When the BMC handles the host graceful boot request, PHAL will
    apply the guard records and informs self boot engine about
    the bad resources but, the host firmware did not apply the guard
    records in the previous boot so when comparing the resources
    state that's informed by the self boot engine are mismatching
    and entering into an infinite loop to boot.

- So, the guard records actions changed in the BMC to supports
  resource recovery feature.

  - PowerOn / TI (terminate immediately) / Checkstop / Watchdog timeout:

    - Clear ephemeral type records.
    - Apply persistent type records.

  - MPIPL:

    - Apply persistent type records of the Core and FC.

  - Graceful reboot from hostboot / Reboot from UI user or PHYP:

    - No guard actions in the PHAL.

- To support the above guard actions in the BMC for the different boots,
  BMC will create the "/tmp/phal/boottime_guard_indicator" file by using
  the added service file that will get triggered as part the
  obmc-host-start@0.target (PowerOn) and obmc-host-quiesce@0.target (TI,
  Checkstop, and Watchdog timeout), PHAL need to take appropriate guard
  actions for the same types of boot and remove that indication so that
  no guard action can be handled during graceful reboot request from
  hostboot and Reboot from UI or PHYP as well. MPIPL can be handled by
  the existing IPL_TYPE value provided by the BMC to PHAL as part of
  the MPIPL boot request.

- Added the above support in this patch for PHAL.

Tested:

- Pre-request: Created the "MC" of guard records to hit the minimum
               hardware check.

- Verified by PowerOn (aka cold boot).

- Verified TI and Checkstop by injecting clock error at the runtime.
  (i2cset -y 8 0x6a 0xb6 0x1a)

- Verified TI and Checkstop by injecting runtime "Fata" guard.
  (putscom pu.c 20028440 0000000000000800 -n0 -p00 -c1)

- Verified MPIPL by using the PHYP macro.
  (altermem c00 -t p 00000000)

- Verified Graceful request from hostboot as part boot param adjust
  and SBE image update request.

- Verified Reboot, GracefulWarmReboot, ForceWarmReboot from the BMC.

Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>
Change-Id: I6422a8fb68559d7b02677a2f018f0d726ddd8952
diff --git a/meson.build b/meson.build
index fddea45..ff5c0f7 100644
--- a/meson.build
+++ b/meson.build
@@ -128,6 +128,7 @@
         'service_files/op-reset-host-clear.service',
         'service_files/phal-import-devtree@.service',
         'service_files/phal-export-devtree@.service',
+        'service_files/phal-create-boottime-guard-indicator.service',
     ]
     unit_subs.set('ENABLE_PHAL_TRUE', '')
 endif