Skip to content

Commit

Permalink
Support direct load of POWERVM from BOOTKERNEL partition
Browse files Browse the repository at this point in the history
 PowerVM doesn't fit in the PAYLOAD section of PNOR.  To
 enable a common PNOR layout instead put PowerVM into
 BOOTKERNEL partition, and if PHYP payload, load BOOTKERNEL
 instead of PAYLOAD PNOR partition

Change-Id: Id19f3ce708b537a19256c22aab3cc1b3e83d4ab1
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71677
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Reviewed-by: MURULIDHAR NATARAJU <murulidhar@in.ibm.com>
Reviewed-by: William G Hoffa <wghoffa@us.ibm.com>
  • Loading branch information
sannerd authored and wghoffa committed Jan 7, 2020
1 parent 4e5e486 commit 81abe97
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/include/usr/pnor/pnor_const.H
Expand Up @@ -75,6 +75,7 @@ enum SectionId
HDAT, /**< HDAT data */
EECACHE,
OCMBFW, /**< OCMB image */
BOOTKERNEL, /**< Bootkernel -- HB uses for PHYP */
#endif
NUM_SECTIONS, /**< Number of defined sections */

Expand Down
8 changes: 7 additions & 1 deletion src/usr/isteps/istep20/call_host_load_payload.C
Expand Up @@ -120,7 +120,13 @@ void* call_host_load_payload (void *io_pArgs)
// Load payload data in PHYP mode or in Sapphire mode
if(is_sapphire_load() || is_phyp_load())
{
l_err = load_pnor_section( PNOR::PAYLOAD, payloadBase );
PNOR::SectionId l_secID = PNOR::PAYLOAD;
if (is_phyp_load())
{
l_secID = PNOR::BOOTKERNEL;
}

l_err = load_pnor_section( l_secID, payloadBase );
if ( l_err )
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
Expand Down
2 changes: 2 additions & 0 deletions src/usr/pnor/pnor_utils.C
Expand Up @@ -344,6 +344,7 @@ bool PNOR::isEnforcedSecureSection(const uint32_t i_section)
i_section == HB_DATA ||
i_section == SBE_IPL ||
i_section == PAYLOAD ||
i_section == BOOTKERNEL ||
i_section == SBKT ||
i_section == OCC ||
i_section == HCODE ||
Expand Down Expand Up @@ -426,6 +427,7 @@ const char * PNOR::SectionIdToString( uint32_t i_secIdIndex )
"HDAT", /**< PNOR::HDAT : Hdat Data */
"EECACHE", /**< PNOR::EECACHE : Cached data from various EEPROMs */
"OCMBFW", /**< PNOR::OCMBFW : OCMB image */
"BOOTKERNEL", /**< PNOR::BOOTKERNEL : OPAL == petitboot,PHYP == PowerVM */
#endif
};

Expand Down

0 comments on commit 81abe97

Please sign in to comment.