summaryrefslogtreecommitdiffstats
path: root/src/build
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2014-01-28 14:55:50 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-01-29 15:40:42 -0600
commitb110c5b5b5097309f189f7f2a63d9970443b6d26 (patch)
tree2291aaae8a3867d57b69124639efa4bdeacd93e4 /src/build
parent8cdb19eeb20420d93fa9309473519e00e94c4b3c (diff)
downloadtalos-hostboot-b110c5b5b5097309f189f7f2a63d9970443b6d26.tar.gz
talos-hostboot-b110c5b5b5097309f189f7f2a63d9970443b6d26.zip
ECC every partition to max size
Change-Id: Ic486ba1989616d6bca5960ab71d009ddf685c928 RTC: 65006 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8429 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/build')
-rwxr-xr-xsrc/build/mkrules/hbfw/img/makefile81
1 files changed, 60 insertions, 21 deletions
diff --git a/src/build/mkrules/hbfw/img/makefile b/src/build/mkrules/hbfw/img/makefile
index c7c6f273e..94e6c6580 100755
--- a/src/build/mkrules/hbfw/img/makefile
+++ b/src/build/mkrules/hbfw/img/makefile
@@ -71,7 +71,11 @@ TESTDATA = hbtestdata.bin
TESTDATA_ECC = hbtestdata.bin.ecc
HBEL_ECC_IMAGE = hbel.bin.ecc
GUARD_ECC_IMAGE = guard.bin.ecc
-GOLBAL_ECC_IMAGE = global.bin.ecc
+GLOBAL_ECC_IMAGE = global.bin.ecc
+DJVPD_ECC_IMAGE = djvpd.bin.ecc
+MVPD_ECC_IMAGE = mvpd.bin.ecc
+CVPD_ECC_IMAGE = cvpd.bin.ecc
+PAYLOAD_ECC_IMAGE = payload.bin.ecc
ALL_HB_IMAGES = ${BASE_IMAGES} \
${BASE_W_HEADER_IMAGE} \
@@ -82,12 +86,15 @@ ALL_HB_IMAGES = ${BASE_IMAGES} \
${EXT_PAD_IMAGE} \
${EXT_SHA_IMAGE} ${EXT_HEADER_IMAGE} \
${EXT_ECC_HEADER_IMAGE} \
- ${TESTDATA} ${TESTDATA_ECC}
+ ${TESTDATA} ${TESTDATA_ECC} \
+ ${HBEL_ECC_IMAGE} ${GUARD_ECC_IMAGE} ${GLOBAL_ECC_IMAGE} \
+ ${DJVPD_ECC_IMAGE} ${MVPD_ECC_IMAGE} ${CVPD_ECC_IMAGE} \
+ ${PAYLOAD_ECC_IMAGE}
cp_hbfiles: .SPECTARG
${BASE_IMAGES:@image@cp -f -u ${SRCPATH:F${image}} ${image};@}
echo "00000000001800000000000008000000000000000007EF80" | xxd -r -ps - sbe.header
- # add version header w/ sha hash
+ # add version header w/ HBB sha hash
echo -en VERSION\\0 > ${BASE_SHA_IMAGE}
sha512sum ${BASE_IMAGE} | awk '{print $$1}' | xxd -pr -r >> ${BASE_SHA_IMAGE}
dd if=${BASE_SHA_IMAGE} of=secureboot.header ibs=4k conv=sync
@@ -100,30 +107,46 @@ cp_hbfiles: .SPECTARG
# dd command will pad image up to the next 4K page
dd if=${EXT_IMAGE} of=${EXT_PAD_IMAGE} ibs=4k count=1280 conv=sync
ecc --inject ${EXT_PAD_IMAGE} --output ${EXT_ECC_IMAGE} --p8
- # add version header w/ HBRT sha hash
+ # Add version header w/ HBRT sha hash
echo -en VERSION\\0 > ${HBRT_SHA_IMAGE}
sha512sum ${HBRT_IMAGE} | awk '{print $$1}' | xxd -pr -r >> ${HBRT_SHA_IMAGE}
dd if=${HBRT_SHA_IMAGE} of=${TEMP_IMAGE} ibs=4k conv=sync
cat ${HBRT_IMAGE} >> ${TEMP_IMAGE}
- dd if=${TEMP_IMAGE} of=${HBRT_HEADER_IMAGE} ibs=4k conv=sync
+ # HBRT partition size w/o ECC = 2MB (2048K)
+ dd if=${TEMP_IMAGE} of=${HBRT_HEADER_IMAGE} ibs=2048K conv=sync
ecc --inject ${HBRT_HEADER_IMAGE} --output ${HBRT_ECC_HEADER_IMAGE} --p8
- # add version header w/ HBI sha hash
+ # Add version header w/ HBI sha hash
echo -en VERSION\\0 > ${EXT_SHA_IMAGE}
sha512sum ${EXT_IMAGE} | awk '{print $$1}' | xxd -pr -r >> ${EXT_SHA_IMAGE}
dd if=${EXT_SHA_IMAGE} of=${TEMP_IMAGE} ibs=4k conv=sync
cat ${EXT_IMAGE} >> ${TEMP_IMAGE}
- dd if=${TEMP_IMAGE} of=${EXT_HEADER_IMAGE} ibs=4k conv=sync
+ # HBI partition size w/o ECC = 5MB (5120K)
+ dd if=${TEMP_IMAGE} of=${EXT_HEADER_IMAGE} ibs=5120k conv=sync
ecc --inject ${EXT_HEADER_IMAGE} --output ${EXT_ECC_HEADER_IMAGE} --p8
# create data for a test partition in pnor
dd if=/dev/urandom of=${TESTDATA} bs=1 count=28K
ecc --inject ${TESTDATA} --output ${TESTDATA_ECC} --p8
- # HBEL, GUARD, and GLOBAL ECC
+ # Fill the following partitions with FF's and then ECC them
dd if=/dev/zero count=128K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
ecc --inject ${TEMP_IMAGE} --output ${HBEL_ECC_IMAGE} --p8
+ # GUARD partition
dd if=/dev/zero count=16K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
ecc --inject ${TEMP_IMAGE} --output ${GUARD_ECC_IMAGE} --p8
+ # GLOBAL partition
dd if=/dev/zero count=32K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
- ecc --inject ${TEMP_IMAGE} --output ${GOLBAL_ECC_IMAGE} --p8
+ ecc --inject ${TEMP_IMAGE} --output ${GLOBAL_ECC_IMAGE} --p8
+ # DJVPD partition
+ dd if=/dev/zero count=256K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
+ ecc --inject ${TEMP_IMAGE} --output ${DJVPD_ECC_IMAGE} --p8
+ # MVPD partition
+ dd if=/dev/zero count=512K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
+ ecc --inject ${TEMP_IMAGE} --output ${MVPD_ECC_IMAGE} --p8
+ # CVPD partition
+ dd if=/dev/zero count=256K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
+ ecc --inject ${TEMP_IMAGE} --output ${CVPD_ECC_IMAGE} --p8
+ # PAYLOAD partition
+ dd if=/dev/zero count=20480K bs=1 | tr "\000" "\377" > ${TEMP_IMAGE}
+ ecc --inject ${TEMP_IMAGE} --output ${PAYLOAD_ECC_IMAGE} --p8
rm ${TEMP_IMAGE}
clobber_cp_hbfiles:
@@ -201,39 +224,55 @@ 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},TEST=${TESTDATA_ECC},HBEL=${HBEL_ECC_IMAGE},GUARD=${GUARD_ECC_IMAGE},GLOBAL=${GOLBAL_ECC_IMAGE}
+HOSTBOOT_DEFAULT_SECTIONS = HBB=${BASE_W_HEADER_ECC_IMAGE},HBI=${EXT_ECC_HEADER_IMAGE},HBRT=${HBRT_ECC_HEADER_IMAGE},TEST=${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}
HBFW_OBJPATH = ${.PATH:M*obj*}
ENGD_OBJPATH = ${HBFW_OBJPATH:S/hbfw\/img/engd\/href/g}
MURANO_TARG_IMG = simics_MURANO_targeting.bin
VENICE_TARG_IMG = simics_VENICE_targeting.bin
+MURANO_TARG_IMG_ECC = simics_MURANO_targeting.bin.ecc
+VENICE_TARG_IMG_ECC = simics_VENICE_targeting.bin.ecc
MURANO_SLW_IMG = ${ENGD_OBJPATH:Fs1.ref_image.bin}
VENICE_SLW_IMG = ${ENGD_OBJPATH:Fp8.ref_image.bin}
MURANO_LOCAL_SLW_IMG = s1.ref_image.bin
VENICE_LOCAL_SLW_IMG = p8.ref_image.bin
+MURANO_LOCAL_SLW_IMG_ECC = s1.ref_image.bin.ecc
+VENICE_LOCAL_SLW_IMG_ECC = p8.ref_image.bin.ecc
MURANO_SBE_IMG = s1SbePartition.bin
VENICE_SBE_IMG = p8SbePartition.bin
+MURANO_SBE_IMG_ECC = s1SbePartition.bin.ecc
+VENICE_SBE_IMG_ECC = p8SbePartition.bin.ecc
SBEC_IMG = centSbePartition.bin
+SBEC_IMG_ECC = centSbePartition.bin.ecc
TEMP_IMG = temp.bin
-INPUT_ECC = ${${MURANO_TARG_IMG}:P} ${${VENICE_TARG_IMG}:P} \
- ${MURANO_LOCAL_SLW_IMG} ${VENICE_LOCAL_SLW_IMG} \
- ${MURANO_SBE_IMG} ${VENICE_SBE_IMG} \
- ${SBEC_IMG}
-
inject_ecc: build_sbe_partitions
# cp file with full path to one with local path
cp ${MURANO_SLW_IMG} ${MURANO_LOCAL_SLW_IMG}
cp ${VENICE_SLW_IMG} ${VENICE_LOCAL_SLW_IMG}
- for file in ${INPUT_ECC}; do\
- dd if=$$file of=${TEMP_IMG} ibs=4k conv=sync; \
- ecc --inject ${TEMP_IMG} --output $$file.ecc --p8; \
- done
+ # HBD partition
+ dd if=${${MURANO_TARG_IMG}:P} of=${TEMP_IMG} ibs=1024k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${MURANO_TARG_IMG_ECC} --p8; \
+ dd if=${${VENICE_TARG_IMG}:P} of=${TEMP_IMG} ibs=1024k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${VENICE_TARG_IMG_ECC} --p8; \
+ # SBE partition
+ dd if=${MURANO_SBE_IMG} of=${TEMP_IMG} ibs=256k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${MURANO_SBE_IMG_ECC} --p8; \
+ dd if=${VENICE_SBE_IMG} of=${TEMP_IMG} ibs=256k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${VENICE_SBE_IMG_ECC} --p8; \
+ # SBEC partition
+ dd if=${SBEC_IMG} of=${TEMP_IMG} ibs=512k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${SBEC_IMG_ECC} --p8; \
+ # WINK partition
+ dd if=${MURANO_LOCAL_SLW_IMG} of=${TEMP_IMG} ibs=1024k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${MURANO_LOCAL_SLW_IMG_ECC} --p8; \
+ dd if=${VENICE_LOCAL_SLW_IMG} of=${TEMP_IMG} ibs=1024k conv=sync; \
+ ecc --inject ${TEMP_IMG} --output ${VENICE_LOCAL_SLW_IMG_ECC} --p8; \
rm ${TEMP_IMG}
-MURANO_SECT = HBD=${MURANO_TARG_IMG}.ecc,SBE=${MURANO_SBE_IMG}.ecc,SBEC=${SBEC_IMG}.ecc,WINK=${MURANO_LOCAL_SLW_IMG}.ecc
-VENICE_SECT = HBD=${VENICE_TARG_IMG}.ecc,SBE=${VENICE_SBE_IMG}.ecc,SBEC=${SBEC_IMG}.ecc,WINK=${VENICE_LOCAL_SLW_IMG}.ecc
+MURANO_SECT = HBD=${MURANO_TARG_IMG_ECC},SBE=${MURANO_SBE_IMG_ECC},SBEC=${SBEC_IMG_ECC},WINK=${MURANO_LOCAL_SLW_IMG_ECC}
+VENICE_SECT = HBD=${VENICE_TARG_IMG_ECC},SBE=${VENICE_SBE_IMG_ECC},SBEC=${SBEC_IMG_ECC},WINK=${VENICE_LOCAL_SLW_IMG_ECC}
PNOR_IMG_INFO = \
murano.pnor:defaultPnorLayout.xml:${MURANO_SECT},${HOSTBOOT_DEFAULT_SECTIONS} \
OpenPOWER on IntegriCloud