From 89c19d7e3a5b6f2781636ca5373672f38d8f0a13 Mon Sep 17 00:00:00 2001 From: Stephen Cprek Date: Wed, 27 Sep 2017 16:22:04 -0500 Subject: Process Components in Master Container Lid Change-Id: I31523494f462c88addb51973f605b2ed72674e97 RTC: 125304 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46840 Tested-by: Jenkins Server Reviewed-by: Nicholas E. Bofferding Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Michael Baiocchi Reviewed-by: Marshall J. Wilks Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa --- src/include/usr/runtime/preverifiedlidmgr.H | 33 +++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'src/include/usr/runtime') diff --git a/src/include/usr/runtime/preverifiedlidmgr.H b/src/include/usr/runtime/preverifiedlidmgr.H index ca096e5e1..185a0d24f 100644 --- a/src/include/usr/runtime/preverifiedlidmgr.H +++ b/src/include/usr/runtime/preverifiedlidmgr.H @@ -66,6 +66,24 @@ class PreVerifiedLidMgr const uint64_t i_addr, const size_t i_size); + /** + * @brief Load PNOR section into HB reserved memory + * + * @param[in] i_sec - PNOR section ID + * @param[in] i_addr - Virtual Address of PNOR section + * @param[in] i_size - Size of PNOR section + * @param[in] i_isPhypComp - Indicates if PHYP lids + * NOTE: PHYP lids go to address HRMOR - 4K + * @param[out] o_resvMemAddr - Mainstore address Lid was put in + * + * @return Error handle if error + */ + static errlHndl_t loadFromMCL(const uint32_t i_lidId, + const uint64_t i_addr, + const size_t i_size, + const bool i_isPhypComp, + uint64_t &o_resvMemAddr); + protected: /** @@ -106,14 +124,20 @@ class PreVerifiedLidMgr const uint64_t i_addr, const size_t i_size); + /** + * @brief Internal implementation of loadFromMCL function. + */ + errlHndl_t _loadFromMCL(const uint32_t i_lidId, + const uint64_t i_addr, + const size_t i_size, + const bool i_isPhypComp, + uint64_t &o_resvMemAddr); + // Private Members/Variables // Cache the payload type static TARGETING::PAYLOAD_KIND cv_payloadKind; - // Bool to check if the first PHYP lid has been loaded or not. - static bool cv_phypLidSeen; - // Collection of data needed for Hostboot Reserved Memory struct ResvMemInfo { @@ -131,7 +155,7 @@ class PreVerifiedLidMgr // Collection of data needed for Hostboot Reserved Memory static ResvMemInfo cv_resvMemInfo; - // Location for PHYP lids to go. + // Collection of data needed for PHYP's placement into HB reserved memory static ResvMemInfo cv_phypResvMemInfo; // Map of what lids have been loaded already. @@ -197,6 +221,7 @@ class PreVerifiedLidMgr // Allow test cases to have direct access friend class PreVerifiedLidMgrTest; + friend class MasterContainerLidMgrTest; }; -- cgit v1.2.3