commit | 482a887804fe61a1868000bd2d1b18cacff77533 | [log] [tgz] |
---|---|---|
author | Ramesh Iyyar <rameshi1@in.ibm.com> | Thu Feb 24 01:42:52 2022 -0600 |
committer | Jayanth Othayoth <ojayanth@gmail.com> | Thu Feb 24 09:16:27 2022 +0000 |
tree | 16eae6f1d4e1a3cbf7e4791de104f386c28bcec7 | |
parent | bbb53393c5e2eb2ad4d3ef8401f8481732b84ed0 [diff] |
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
Contains procedures that interact with the OpenPower nest chipset.
To build this package, do the following steps: 1. meson builddir 2. ninja -C builddir To build with phal feature: 1. meson builddir -Dphal=enabled -Dopenfsi=enabled 2. ninja -C builddir To clean the repository run `ninja -C builddir/ clean`.