summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard J. Knight <rjknight@us.ibm.com>2017-10-31 08:02:48 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-07 12:06:42 -0500
commit911996a1c31f7253b8a7be9c7ebc67e562d70b40 (patch)
tree3f4954df9d6ae2f42abc631b7b46e2a65ab5d7ec
parent50a901b1468aecffa093a4c217c7cea7a015e924 (diff)
downloadtalos-hostboot-911996a1c31f7253b8a7be9c7ebc67e562d70b40.tar.gz
talos-hostboot-911996a1c31f7253b8a7be9c7ebc67e562d70b40.zip
Add new pnor section for Centaur hw ref image
Change-Id: Id5b75f4a929456efa5da7f173ecba71af513744f RTC:144141 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49369 Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> 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> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/build/buildpnor/defaultPnorLayout.xml9
-rwxr-xr-xsrc/build/buildpnor/genPnorImages.pl1
-rw-r--r--src/build/buildpnor/pnorLayoutFSP.xml9
-rw-r--r--src/build/buildpnor/pnorLayoutFake.xml11
-rwxr-xr-xsrc/build/mkrules/hbfw/img/makefile28
-rw-r--r--src/include/usr/pnor/pnor_const.H1
-rw-r--r--src/usr/pnor/pnor_utils.C2
7 files changed, 48 insertions, 13 deletions
diff --git a/src/build/buildpnor/defaultPnorLayout.xml b/src/build/buildpnor/defaultPnorLayout.xml
index 6c2357b7e..2a547f729 100644
--- a/src/build/buildpnor/defaultPnorLayout.xml
+++ b/src/build/buildpnor/defaultPnorLayout.xml
@@ -288,4 +288,13 @@ Layout Description
<sha512Version/>
<ecc/>
</section>
+ <section>
+ <description>Centaur Hw Ref Image (12K)</description>
+ <eyeCatch>CENHWIMG</eyeCatch>
+ <physicalOffset>0x39DE000</physicalOffset>
+ <physicalRegionSize>0x3000</physicalRegionSize>
+ <sha512Version/>
+ <side>sideless</side>
+ <ecc/>
+ </section>
</pnor>
diff --git a/src/build/buildpnor/genPnorImages.pl b/src/build/buildpnor/genPnorImages.pl
index 6bfca0884..93fa9e1d3 100755
--- a/src/build/buildpnor/genPnorImages.pl
+++ b/src/build/buildpnor/genPnorImages.pl
@@ -576,6 +576,7 @@ sub manipulateImages
$isNormalSecure ||= ($eyeCatch eq "CAPP");
$isNormalSecure ||= ($eyeCatch eq "BOOTKERNEL");
$isNormalSecure ||= ($eyeCatch eq "HCODE");
+ $isNormalSecure ||= ($eyeCatch eq "CENHWIMG");
$isNormalSecure ||= ($eyeCatch eq "WOFDATA");
$isNormalSecure ||= ($eyeCatch eq "IMA_CATALOG");
$isNormalSecure ||= ($eyeCatch eq "TESTRO");
diff --git a/src/build/buildpnor/pnorLayoutFSP.xml b/src/build/buildpnor/pnorLayoutFSP.xml
index 6758e8f58..7ed111e36 100644
--- a/src/build/buildpnor/pnorLayoutFSP.xml
+++ b/src/build/buildpnor/pnorLayoutFSP.xml
@@ -241,4 +241,13 @@ Layout Description - Used when building an FSP driver
<sha512Version/>
<ecc/>
</section>
+ <section>
+ <description>Centaur Hw Ref Image (12K)</description>
+ <eyeCatch>CENHWIMG</eyeCatch>
+ <physicalOffset>0x2466000</physicalOffset>
+ <physicalRegionSize>0x3000</physicalRegionSize>
+ <sha512Version/>
+ <side>sideless</side>
+ <ecc/>
+ </section>
</pnor>
diff --git a/src/build/buildpnor/pnorLayoutFake.xml b/src/build/buildpnor/pnorLayoutFake.xml
index e8a319c11..561b5e58f 100644
--- a/src/build/buildpnor/pnorLayoutFake.xml
+++ b/src/build/buildpnor/pnorLayoutFake.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2015,2016 -->
+<!-- Contributors Listed Below - COPYRIGHT 2015,2017 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -134,4 +134,13 @@ Layout Description
<physicalRegionSize>0x4F6000</physicalRegionSize>
<side>sideless</side>
</section>
+ <section>
+ <!-- NOTE: smaller than official layout for fake-PNOR -->
+ <description>Centaur Hw Image (12K)</description>
+ <eyeCatch>CENHWIMG</eyeCatch>
+ <physicalOffset>0x600000</physicalOffset>
+ <physicalRegionSize>0x3000</physicalRegionSize>
+ <sha512Version/>
+ <side>sideless</side>
+ </section>
</pnor>
diff --git a/src/build/mkrules/hbfw/img/makefile b/src/build/mkrules/hbfw/img/makefile
index c6adcae44..7100520a9 100755
--- a/src/build/mkrules/hbfw/img/makefile
+++ b/src/build/mkrules/hbfw/img/makefile
@@ -335,6 +335,8 @@ NIMBUS_HBD_IMG = simics_NIMBUS_targeting.bin
CUMULUS_HBD_IMG = simics_CUMULUS_targeting.bin
NIMBUS_HCODE_IMG = ${ENGD_SRCPATH:Fp9n.hw_ref_image.bin}
CUMULUS_HCODE_IMG = ${ENGD_SRCPATH:Fp9c.hw_ref_image.bin}
+CUMULUS_CENHWIMG_IMG = ${ENGD_SRCPATH:Fcen.hw_ref_image.bin}
+NIMBUS_CENHWIMG_IMG = cen.hw_ref_image.bin.fake
NIMBUS_OCC_IMG = ${bb}/images/ppc/lab/fs/p9le/rootfs/opt/extucode/81e00430.lid
CUMULUS_OCC_IMG = ${bb}/images/ppc/lab/fs/p9le/rootfs/opt/extucode/81e00430.lid
## System Specific
@@ -357,6 +359,8 @@ NIMBUS_HBD_FINAL_IMG = NIMBUS.HBD.bin
CUMULUS_HBD_FINAL_IMG = CUMULUS.HBD.bin
NIMBUS_HCODE_FINAL_IMG = NIMBUS.HCODE.bin
CUMULUS_HCODE_FINAL_IMG = CUMULUS.HCODE.bin
+CUMULUS_CENHWIMG_FINAL_IMG = CUMULUS.CENHWIMG.bin
+NIMBUS_CENHWIMG_FINAL_IMG = NIMBUS.CENHWIMG.bin
NIMBUS_SBE_FINAL_IMG = NIMBUS.SBE.bin
CUMULUS_SBE_FINAL_IMG = CUMULUS.SBE.bin
NIMBUS_OCC_FINAL_IMG = NIMBUS.OCC.bin
@@ -374,11 +378,11 @@ ZEPPELIN_HBD_FINAL_IMG = ZEPPELIN.HBD.bin
.if(${FAKEPNOR} == "")
# Paramemters passed into GEN_PNOR_IMAGE_SCRIPT.
.if(${DEFAULT_PNOR} == 1)
- GEN_NIMBUS_BIN_FILES = NIMBUS:SBE=${${NIMBUS_SBE_IMG}:P},HCODE=${${NIMBUS_HCODE_IMG}:P},OCC=${${NIMBUS_OCC_IMG}:P},HBD=${${NIMBUS_HBD_IMG}:P}
- GEN_CUMULUS_BIN_FILES = CUMULUS:SBE=${${CUMULUS_SBE_IMG}:P},HCODE=${${CUMULUS_HCODE_IMG}:P},OCC=${${CUMULUS_OCC_IMG}:P},HBD=${${CUMULUS_HBD_IMG}:P}
+ GEN_NIMBUS_BIN_FILES = NIMBUS:SBE=${${NIMBUS_SBE_IMG}:P},HCODE=${${NIMBUS_HCODE_IMG}:P},OCC=${${NIMBUS_OCC_IMG}:P},HBD=${${NIMBUS_HBD_IMG}:P},CENHWIMG=${NIMBUS_CENHWIMG_IMG}
+ GEN_CUMULUS_BIN_FILES = CUMULUS:SBE=${${CUMULUS_SBE_IMG}:P},HCODE=${${CUMULUS_HCODE_IMG}:P},OCC=${${CUMULUS_OCC_IMG}:P},HBD=${${CUMULUS_HBD_IMG}:P},CENHWIMG=${${CUMULUS_CENHWIMG_IMG}:P}
.else
- GEN_NIMBUS_BIN_FILES = NIMBUS:SBE=${${NIMBUS_SBE_IMG}:P},HCODE=${${NIMBUS_HCODE_IMG}:P},OCC=${${NIMBUS_OCC_IMG}:P},HBD=${${NIMBUS_HBD_IMG}:P}
- GEN_CUMULUS_BIN_FILES = CUMULUS:SBE=${${CUMULUS_SBE_IMG}:P},HCODE=${${CUMULUS_HCODE_IMG}:P},OCC=${${CUMULUS_OCC_IMG}:P},HBD=${${CUMULUS_HBD_IMG}:P}
+ GEN_NIMBUS_BIN_FILES = NIMBUS:SBE=${${NIMBUS_SBE_IMG}:P},HCODE=${${NIMBUS_HCODE_IMG}:P},OCC=${${NIMBUS_OCC_IMG}:P},HBD=${${NIMBUS_HBD_IMG}:P},CENHWIMG=${NIMBUS_CENHWIMG_IMG}
+ GEN_CUMULUS_BIN_FILES = CUMULUS:SBE=${${CUMULUS_SBE_IMG}:P},HCODE=${${CUMULUS_HCODE_IMG}:P},OCC=${${CUMULUS_OCC_IMG}:P},HBD=${${CUMULUS_HBD_IMG}:P},CENHWIMG=${${CUMULUS_CENHWIMG_IMG}:P}
.endif
GEN_ZZ_BIN_FILES = ZZ:WOFDATA=${${ZZ_WOFDATA_IMG}:P},MEMD=${${ZZ_MEMD_IMG}:P},HBD=${${ZZ_HBD_IMG}:P}
GEN_ZEPPELIN_BIN_FILES = ZEPPELIN:WOFDATA=${${ZEPPELIN_WOFDATA_IMG}:P},MEMD=${${ZEPPELIN_MEMD_IMG}:P},HBD=${${ZEPPELIN_HBD_IMG}:P}
@@ -394,8 +398,8 @@ ZEPPELIN_HBD_FINAL_IMG = ZEPPELIN.HBD.bin
--hwKeyHashFile ${IMPRINT_HW_KEY_HASH}
.else
# Parameters passed into GEN_PNOR_IMAGE_SCRIPT.
- GEN_NIMBUS_BIN_FILES = NIMBUS:HCODE=${${NIMBUS_HCODE_IMG}:P},HBD=${${NIMBUS_VPO_HBD_IMG}:P}
- GEN_CUMULUS_BIN_FILES = CUMULUS:HCODE=${${CUMULUS_HCODE_IMG}:P}
+ GEN_NIMBUS_BIN_FILES = NIMBUS:HCODE=${${NIMBUS_HCODE_IMG}:P},HBD=${${NIMBUS_VPO_HBD_IMG}:P},CENHWIMG=EMPTY
+ GEN_CUMULUS_BIN_FILES = CUMULUS:HCODE=${${CUMULUS_HCODE_IMG}:P},CENHWIMG=${${CUMULUS_CENHWIMG_IMG}:P}
SYSTEM_SPECIFIC_PARAMS = --pnorLayout ${PNOR_LAYOUT} \
--systemBinFiles ${GEN_NIMBUS_BIN_FILES} \
--systemBinFiles ${GEN_CUMULUS_BIN_FILES}
@@ -419,12 +423,12 @@ gen_system_specific_images: build_sbe_partitions .PMAKE
.if(${DEFAULT_PNOR} == 1)
HOSTBOOT_DEFAULT_SECTIONS = HBBL=${HBBL_FINAL_IMG},HBB=${HBB_FINAL_IMG},HBI=${HBI_FINAL_IMG},HBRT=${HBRT_FINAL_IMG},TEST=${TEST_FINAL_IMG},TESTRO=${TESTRO_FINAL_IMG},TESTLOAD=${TESTLOAD_FINAL_IMG},HBEL=${HBEL_FINAL_IMG},GUARD=${GUARD_FINAL_IMG},GLOBAL=${GLOBAL_FINAL_IMG},PAYLOAD=${PAYLOAD_FINAL_IMG},CVPD=${CVPD_FINAL_IMG},MVPD=${MVPD_FINAL_IMG},DJVPD=${DJVPD_FINAL_IMG},RINGOVD=${RINGOVD_FINAL_IMG},SBKT=${SBKT_FINAL_IMG},FIRDATA=${FIRDATA_FINAL_IMG},MEMD=${MEMD_FINAL_IMG}
- NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},SBE=${NIMBUS_SBE_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG},OCC=${NIMBUS_OCC_FINAL_IMG},WOFDATA=${ZZ_WOFDATA_FINAL_IMG}
- CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},SBE=${CUMULUS_SBE_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG},OCC=${CUMULUS_OCC_FINAL_IMG},WOFDATA=${ZEPPELIN_WOFDATA_FINAL_IMG}
+ NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},SBE=${NIMBUS_SBE_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG},OCC=${NIMBUS_OCC_FINAL_IMG},WOFDATA=${ZZ_WOFDATA_FINAL_IMG},CENHWIMG=${NIMBUS_CENHWIMG_FINAL_IMG}
+ CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},SBE=${CUMULUS_SBE_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG},OCC=${CUMULUS_OCC_FINAL_IMG},WOFDATA=${ZEPPELIN_WOFDATA_FINAL_IMG},CENHWIMG=${CUMULUS_CENHWIMG_FINAL_IMG}
.else
HOSTBOOT_DEFAULT_SECTIONS = HBBL=${HBBL_FINAL_IMG},HBB=${HBB_FINAL_IMG},HBI=${HBI_FINAL_IMG},HBRT=${HBRT_FINAL_IMG},HBEL=${HBEL_FINAL_IMG},GUARD=${GUARD_FINAL_IMG},GLOBAL=${GLOBAL_FINAL_IMG},CVPD=${CVPD_FINAL_IMG},MVPD=${MVPD_FINAL_IMG},DJVPD=${DJVPD_FINAL_IMG},RINGOVD=${RINGOVD_FINAL_IMG},SBKT=${SBKT_FINAL_IMG},MEMD=${MEMD_FINAL_IMG}
- NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},SBE=${NIMBUS_SBE_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG},OCC=${NIMBUS_OCC_FINAL_IMG},WOFDATA=${ZZ_WOFDATA_FINAL_IMG}
- CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},SBE=${CUMULUS_SBE_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG},OCC=${CUMULUS_OCC_FINAL_IMG},WOFDATA=${ZEPPELIN_WOFDATA_FINAL_IMG}
+ NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},SBE=${NIMBUS_SBE_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG},OCC=${NIMBUS_OCC_FINAL_IMG},WOFDATA=${ZZ_WOFDATA_FINAL_IMG},CENHWIMG=${NIMBUS_CENHWIMG_FINAL_IMG}
+ CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},SBE=${CUMULUS_SBE_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG},OCC=${CUMULUS_OCC_FINAL_IMG},WOFDATA=${ZEPPELIN_WOFDATA_FINAL_IMG},CENHWIMG=${CUMULUS_CENHWIMG_FINAL_IMG}
.endif
PNOR_IMG_INFO = \
nimbus.pnor:${PNOR_LAYOUT}:${NIMBUS_SECT},${HOSTBOOT_DEFAULT_SECTIONS} \
@@ -439,8 +443,8 @@ PNOR_IMG_INFO = \
# some limitations of GEN_PNOR_IMAGE_SCRIPT at the time of porting to p9
.if(${FAKEPNOR} != "")
HOSTBOOT_DEFAULT_SECTIONS = HBI=${HBI_FINAL_IMG},HBEL=${HBEL_FINAL_IMG},MVPD=${MVPD_FINAL_IMG},DJVPD=${DJVPD_FINAL_IMG},CVPD=${VPO_FAKE_DVPD},FIRDATA=${FIRDATA_FINAL_IMG}
- NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG}
- CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG}
+ NIMBUS_SECT = HBD=${NIMBUS_HBD_FINAL_IMG},HCODE=${NIMBUS_HCODE_FINAL_IMG},CENHWIMG=${NIMBUS_CENHWIMG_FINAL_IMG}
+ CUMULUS_SECT = HBD=${CUMULUS_HBD_FINAL_IMG},HCODE=${CUMULUS_HCODE_FINAL_IMG},CENHWIMG=${CUMULUS_CENHWIMG_FINAL_IMG}
PNOR_IMG_INFO = \
${FAKEPNOR}:${PNOR_LAYOUT}:${NIMBUS_SECT}:${CUMULUS_SECT},${HOSTBOOT_DEFAULT_SECTIONS} \
${FIPS_PNOR_INFO}
diff --git a/src/include/usr/pnor/pnor_const.H b/src/include/usr/pnor/pnor_const.H
index 81ebf0385..9b48db7ff 100644
--- a/src/include/usr/pnor/pnor_const.H
+++ b/src/include/usr/pnor/pnor_const.H
@@ -73,6 +73,7 @@ enum SectionId
HB_VOLATILE, /**< Semi volatile partition for reconfig */
MEMD, /**< Memory configuration data */
TESTLOAD, /**< Secureboot test load */
+ CENTAUR_HW_IMG, /**< Centaur HCODE Reference image */
#endif
NUM_SECTIONS, /**< Number of defined sections */
diff --git a/src/usr/pnor/pnor_utils.C b/src/usr/pnor/pnor_utils.C
index 8108f0077..bf8a195c2 100644
--- a/src/usr/pnor/pnor_utils.C
+++ b/src/usr/pnor/pnor_utils.C
@@ -392,6 +392,7 @@ bool PNOR::isEnforcedSecureSection(const uint32_t i_section)
i_section == SBKT ||
i_section == OCC ||
i_section == HCODE ||
+ i_section == CENTAUR_HW_IMG ||
i_section == HB_RUNTIME ||
i_section == WOFDATA ||
i_section == MEMD ||
@@ -465,6 +466,7 @@ const char * PNOR::SectionIdToString( uint32_t i_secIdIndex )
"HB_VOLATILE", /**< PNOR::HB_VOLATILE : Semi volatile partition */
"MEMD", /**< PNOR::MEMD : Memory configuration data */
"TESTLOAD", /**< PNOR::TESTLOAD : Secureboot Test Load */
+ "CENHWIMG", /**< PNOR::CENTAUR_HW_IMG : Centaur HCODE ref image */
#endif
};
OpenPOWER on IntegriCloud