summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/build/buildpnor/defaultPnorLayout.xml8
-rw-r--r--src/build/buildpnor/pnorLayoutFSP.xml8
-rw-r--r--src/build/buildpnor/pnorLayoutFake.xml8
-rwxr-xr-xsrc/build/mkrules/hbfw/img/makefile9
-rw-r--r--src/include/usr/pnor/pnor_const.H1
-rw-r--r--src/usr/pnor/pnor_utils.C1
-rw-r--r--src/usr/pnor/test/pnorrptest.H3
7 files changed, 35 insertions, 3 deletions
diff --git a/src/build/buildpnor/defaultPnorLayout.xml b/src/build/buildpnor/defaultPnorLayout.xml
index dc21c53aa..c6858edba 100644
--- a/src/build/buildpnor/defaultPnorLayout.xml
+++ b/src/build/buildpnor/defaultPnorLayout.xml
@@ -230,4 +230,12 @@ Layout Description
<side>sideless</side>
<ecc/>
</section>
+ <section>
+ <description>Ref Image Ring Overrides (20K)</description>
+ <eyeCatch>RINGOVD</eyeCatch>
+ <physicalOffset>0x2ACA000</physicalOffset>
+ <physicalRegionSize>0x5000</physicalRegionSize>
+ <side>sideless</side>
+ <ecc/>
+ </section>
</pnor>
diff --git a/src/build/buildpnor/pnorLayoutFSP.xml b/src/build/buildpnor/pnorLayoutFSP.xml
index dc37acf43..a16ea8645 100644
--- a/src/build/buildpnor/pnorLayoutFSP.xml
+++ b/src/build/buildpnor/pnorLayoutFSP.xml
@@ -194,4 +194,12 @@ Layout Description
<side>sideless</side>
<ecc/>
</section>
+ <section>
+ <description>Ref Image Ring Overrides (20K)</description>
+ <eyeCatch>RINGOVD</eyeCatch>
+ <physicalOffset>0x1D38000</physicalOffset>
+ <physicalRegionSize>0x5000</physicalRegionSize>
+ <side>sideless</side>
+ <ecc/>
+ </section>
</pnor>
diff --git a/src/build/buildpnor/pnorLayoutFake.xml b/src/build/buildpnor/pnorLayoutFake.xml
index 402e81cc8..0de326160 100644
--- a/src/build/buildpnor/pnorLayoutFake.xml
+++ b/src/build/buildpnor/pnorLayoutFake.xml
@@ -132,4 +132,12 @@ Layout Description
<physicalRegionSize>0x500000</physicalRegionSize>
<side>sideless</side>
</section>
+ <section>
+ <description>Ref Image Ring Overrides (20K)</description>
+ <eyeCatch>RINGOVD</eyeCatch>
+ <physicalOffset>0x5F2000</physicalOffset>
+ <physicalRegionSize>0x5000</physicalRegionSize>
+ <side>sideless</side>
+ <ecc/>
+ </section>
</pnor>
diff --git a/src/build/mkrules/hbfw/img/makefile b/src/build/mkrules/hbfw/img/makefile
index 951fe4113..4cfae6152 100755
--- a/src/build/mkrules/hbfw/img/makefile
+++ b/src/build/mkrules/hbfw/img/makefile
@@ -91,6 +91,8 @@ SIGN_PREFIX_PARAMS=-flag 0x80000000 -hka ${DEV_KEY_DIR}/hw_key_a -hkb ${DEV_KEY_
SIGN_BUILD_PARAMS=-skp ${DEV_KEY_DIR}/sw_key_a
VPO_FAKE_MVPD = vpo_sysmvpd.dat
VPO_FAKE_DJVPD = vpo_djvpd.dat
+RING_OVERRIDE_ECC_IMAGE = ring_override.bin.ecc
+RING_OVERRIDE_IMAGE = ring_override.bin
ALL_HB_IMAGES = ${BASE_IMAGES} \
${BASE_W_HEADER_IMAGE} \
@@ -106,7 +108,7 @@ ALL_HB_IMAGES = ${BASE_IMAGES} \
${HBEL_ECC_IMAGE} ${GUARD_ECC_IMAGE} ${GLOBAL_ECC_IMAGE} \
${DJVPD_ECC_IMAGE} ${MVPD_ECC_IMAGE} ${CVPD_ECC_IMAGE} \
${HBEL_IMAGE} ${DJVPD_IMAGE} ${MVPD_IMAGE} \
- ${PAYLOAD_ECC_IMAGE}
+ ${PAYLOAD_ECC_IMAGE} ${RING_OVERRIDE_ECC_IMAGE}
cp_hbfiles: .SPECTARG
${BASE_IMAGES:@image@cp -f ${SRCPATH:F${image}} ${image};@}
@@ -193,6 +195,9 @@ cp_hbfiles: .SPECTARG
# PAYLOAD partition
dd if=/dev/zero bs=19456K count=1 | tr "\000" "\377" > ${TEMP_IMAGE}
ecc --inject ${TEMP_IMAGE} --output ${PAYLOAD_ECC_IMAGE} --p8
+ # RINGOVD partition
+ dd if=/dev/zero bs=16K count=1 | tr "\000" "\377" > ${TEMP_IMAGE}
+ ecc --inject ${TEMP_IMAGE} --output ${RING_OVERRIDE_ECC_IMAGE} --p8
rm ${TEMP_IMAGE}
# Remove offset from start of Bootloader image for HBBL partition
# Actual code is offset from HRMOR by 12k = 12 1k-blocks (space
@@ -267,7 +272,7 @@ PNOR_BUILD_SCRIPT = ${buildpnor.pl:P}
#so need to use tryinclude for now.
.tryinclude <${.PATH:Ffips_pnor.mk}>
-HOSTBOOT_DEFAULT_SECTIONS = HBB=${BASE_W_HEADER_ECC_IMAGE},HBI=${EXT_ECC_HEADER_IMAGE},HBRT=${HBRT_ECC_HEADER_IMAGE},HBBL=${HBBL_ECC_IMAGE},TEST=${TESTDATA_ECC},TESTRO=${TESTDATA_ECC},HBEL=${HBEL_ECC_IMAGE},GUARD=${GUARD_ECC_IMAGE},GLOBAL=${GLOBAL_ECC_IMAGE},PAYLOAD=${PAYLOAD_ECC_IMAGE},CVPD=${CVPD_ECC_IMAGE},MVPD=${MVPD_ECC_IMAGE},DJVPD=${DJVPD_ECC_IMAGE}
+HOSTBOOT_DEFAULT_SECTIONS = HBB=${BASE_W_HEADER_ECC_IMAGE},HBI=${EXT_ECC_HEADER_IMAGE},HBRT=${HBRT_ECC_HEADER_IMAGE},HBBL=${HBBL_ECC_IMAGE},TEST=${TESTDATA_ECC},TESTRO=${TESTDATA_ECC},HBEL=${HBEL_ECC_IMAGE},GUARD=${GUARD_ECC_IMAGE},GLOBAL=${GLOBAL_ECC_IMAGE},PAYLOAD=${PAYLOAD_ECC_IMAGE},CVPD=${CVPD_ECC_IMAGE},MVPD=${MVPD_ECC_IMAGE},DJVPD=${DJVPD_ECC_IMAGE},RINGOVD=${RING_OVERRIDE_ECC_IMAGE}
HOSTBOOT_FAKEPNOR_SECTIONS = HBI=${EXT_FAKE_IMAGE},HBEL=${HBEL_IMAGE},MVPD=${MVPD_IMAGE},DJVPD=${DJVPD_IMAGE}
diff --git a/src/include/usr/pnor/pnor_const.H b/src/include/usr/pnor/pnor_const.H
index 2d0d90f51..9b65876fd 100644
--- a/src/include/usr/pnor/pnor_const.H
+++ b/src/include/usr/pnor/pnor_const.H
@@ -64,6 +64,7 @@ enum SectionId
TESTRO, /**< Scratch space for PNOR ReadOnly test cases */
BACKUP_PART, /**< Backup of TOC*/
POWERVM, /**< Power VM data */
+ RINGOVD, /**< Ring override data */
NUM_SECTIONS, /**< Number of defined sections */
diff --git a/src/usr/pnor/pnor_utils.C b/src/usr/pnor/pnor_utils.C
index 33dcb3a27..e522ea942 100644
--- a/src/usr/pnor/pnor_utils.C
+++ b/src/usr/pnor/pnor_utils.C
@@ -80,6 +80,7 @@ const char* cv_EYECATCHER[] = {
"TESTRO", /**< PNOR::TESTRO : ReadOnly Test space for PNOR */
"BACKUP_PART", /**PNOR::BACKUP_PART : Backup of PART*/
"POWERVM", /**< PNOR::POWERVM : Power VM data */
+ "RINGOVD", /**< PNOR::RINGOVD : Ring overrides */
};
/**
diff --git a/src/usr/pnor/test/pnorrptest.H b/src/usr/pnor/test/pnorrptest.H
index 4eee74072..8222063a6 100644
--- a/src/usr/pnor/test/pnorrptest.H
+++ b/src/usr/pnor/test/pnorrptest.H
@@ -72,8 +72,9 @@ class PnorRpTest : public CxxTest::TestSuite
PNOR::HB_DATA, /**< Hostboot Data */
PNOR::DIMM_JEDEC_VPD, /**< DIMM JEDEC VPD */
PNOR::MODULE_VPD, /**< Module VPD */
+ PNOR::RINGOVD, /**< Ring override data */
};
- uint64_t numSections = 5;
+ uint64_t numSections = 6;
for( uint64_t idx = 0; idx < numSections; idx++)
{
OpenPOWER on IntegriCloud