summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-05-07 14:21:27 +1000
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2018-08-28 11:05:07 +1000
commit850ff8bb50fd1c14ac40af2899094f286209a805 (patch)
treeec1f531a5d94a1b25ae4e0fc7e803e93c15d609e
parented44abe88db9748404a3974464e056bc1b541eb0 (diff)
downloadpnor-850ff8bb50fd1c14ac40af2899094f286209a805.tar.gz
pnor-850ff8bb50fd1c14ac40af2899094f286209a805.zip
p9Layouts: Sign VERSION partition
And update the partition offsets to match since the VERSION partition needs an extra 4K to fit the signed header. This also fixes up the layout to remove the 24K of empty space between MEMD and SBKT. Partial fix for https://github.com/open-power/op-build/issues/1849 Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rwxr-xr-xcreate_pnor_image.pl2
-rw-r--r--p9Layouts/defaultPnorLayout_128.xml17
-rw-r--r--p9Layouts/defaultPnorLayout_64.xml17
-rwxr-xr-xupdate_image.pl5
4 files changed, 21 insertions, 20 deletions
diff --git a/create_pnor_image.pl b/create_pnor_image.pl
index bf3bb7d..14f71ab 100755
--- a/create_pnor_image.pl
+++ b/create_pnor_image.pl
@@ -144,7 +144,7 @@ $build_pnor_command .= " --binFile_ATTR_PERM $scratch_dir/attr_perm.bin.ecc";
$build_pnor_command .= " --binFile_FIRDATA $scratch_dir/firdata.bin.ecc";
$build_pnor_command .= " --binFile_CAPP $scratch_dir/cappucode.bin.ecc";
$build_pnor_command .= " --binFile_SECBOOT $scratch_dir/secboot.bin.ecc";
-$build_pnor_command .= " --binFile_VERSION $openpower_version_filename";
+$build_pnor_command .= " --binFile_VERSION $scratch_dir/openpower_pnor_version.bin";
$build_pnor_command .= " --binFile_IMA_CATALOG $scratch_dir/ima_catalog.bin.ecc";
if ($release eq "p9"){
diff --git a/p9Layouts/defaultPnorLayout_128.xml b/p9Layouts/defaultPnorLayout_128.xml
index fe0add8..074330c 100644
--- a/p9Layouts/defaultPnorLayout_128.xml
+++ b/p9Layouts/defaultPnorLayout_128.xml
@@ -299,14 +299,15 @@ Layout Description
<description>PNOR Version (4K)</description>
<eyeCatch>VERSION</eyeCatch>
<physicalOffset>0x2C08000</physicalOffset>
- <physicalRegionSize>0x1000</physicalRegionSize>
+ <physicalRegionSize>0x2000</physicalRegionSize>
<side>A</side>
+ <sha512Version/>
<readOnly/>
</section>
<section>
<description>IMA Catalog (256K)</description>
<eyeCatch>IMA_CATALOG</eyeCatch>
- <physicalOffset>0x2C09000</physicalOffset>
+ <physicalOffset>0x2C0A000</physicalOffset>
<physicalRegionSize>0x40000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -316,7 +317,7 @@ Layout Description
<section>
<description>Ref Image Ring Overrides (128K)</description>
<eyeCatch>RINGOVD</eyeCatch>
- <physicalOffset>0x2C49000</physicalOffset>
+ <physicalOffset>0x2C4A000</physicalOffset>
<physicalRegionSize>0x20000</physicalRegionSize>
<side>A</side>
</section>
@@ -325,7 +326,7 @@ Layout Description
<!-- We need 266KB per module sort, going to support
10 sorts by default, plus ECC -->
<eyeCatch>WOFDATA</eyeCatch>
- <physicalOffset>0x2C69000</physicalOffset>
+ <physicalOffset>0x2C6A000</physicalOffset>
<physicalRegionSize>0x300000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -335,7 +336,7 @@ Layout Description
<section>
<description>Hostboot deconfig area (64KB)</description>
<eyeCatch>HB_VOLATILE</eyeCatch>
- <physicalOffset>0x2F69000</physicalOffset>
+ <physicalOffset>0x2F6A000</physicalOffset>
<physicalRegionSize>0x5000</physicalRegionSize>
<side>A</side>
<reprovision/>
@@ -346,7 +347,7 @@ Layout Description
<section>
<description>Memory config data (28K)</description>
<eyeCatch>MEMD</eyeCatch>
- <physicalOffset>0x2F6E000</physicalOffset>
+ <physicalOffset>0x2F6F000</physicalOffset>
<physicalRegionSize>0xE000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -356,7 +357,7 @@ Layout Description
<section>
<description>SecureBoot Key Transition Partition (16K)</description>
<eyeCatch>SBKT</eyeCatch>
- <physicalOffset>0x2F82000</physicalOffset>
+ <physicalOffset>0x2F7D000</physicalOffset>
<physicalRegionSize>0x4000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -366,7 +367,7 @@ Layout Description
<section>
<description>HDAT binary data (16KB)</description>
<eyeCatch>HDAT</eyeCatch>
- <physicalOffset>0x2F86000</physicalOffset>
+ <physicalOffset>0x2F81000</physicalOffset>
<physicalRegionSize>0x8000</physicalRegionSize>
<side>sideless</side>
<sha512Version/>
diff --git a/p9Layouts/defaultPnorLayout_64.xml b/p9Layouts/defaultPnorLayout_64.xml
index d5b7a6f..77c5610 100644
--- a/p9Layouts/defaultPnorLayout_64.xml
+++ b/p9Layouts/defaultPnorLayout_64.xml
@@ -299,14 +299,15 @@ Layout Description
<description>PNOR Version (4K)</description>
<eyeCatch>VERSION</eyeCatch>
<physicalOffset>0x2C08000</physicalOffset>
- <physicalRegionSize>0x1000</physicalRegionSize>
+ <physicalRegionSize>0x2000</physicalRegionSize>
<side>A</side>
+ <sha512Version/>
<readOnly/>
</section>
<section>
<description>IMA Catalog (256K)</description>
<eyeCatch>IMA_CATALOG</eyeCatch>
- <physicalOffset>0x2C09000</physicalOffset>
+ <physicalOffset>0x2C0A000</physicalOffset>
<physicalRegionSize>0x40000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -316,7 +317,7 @@ Layout Description
<section>
<description>Ref Image Ring Overrides (128K)</description>
<eyeCatch>RINGOVD</eyeCatch>
- <physicalOffset>0x2C49000</physicalOffset>
+ <physicalOffset>0x2C4A000</physicalOffset>
<physicalRegionSize>0x20000</physicalRegionSize>
<side>A</side>
</section>
@@ -325,7 +326,7 @@ Layout Description
<!-- We need 266KB per module sort, going to support
10 sorts by default, plus ECC -->
<eyeCatch>WOFDATA</eyeCatch>
- <physicalOffset>0x2C69000</physicalOffset>
+ <physicalOffset>0x2C6A000</physicalOffset>
<physicalRegionSize>0x300000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -335,7 +336,7 @@ Layout Description
<section>
<description>Hostboot deconfig area (64KB)</description>
<eyeCatch>HB_VOLATILE</eyeCatch>
- <physicalOffset>0x2F69000</physicalOffset>
+ <physicalOffset>0x2F6A000</physicalOffset>
<physicalRegionSize>0x5000</physicalRegionSize>
<side>A</side>
<reprovision/>
@@ -346,7 +347,7 @@ Layout Description
<section>
<description>Memory config data (28K)</description>
<eyeCatch>MEMD</eyeCatch>
- <physicalOffset>0x2F6E000</physicalOffset>
+ <physicalOffset>0x2F6F000</physicalOffset>
<physicalRegionSize>0xE000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -356,7 +357,7 @@ Layout Description
<section>
<description>SecureBoot Key Transition Partition (16K)</description>
<eyeCatch>SBKT</eyeCatch>
- <physicalOffset>0x2F82000</physicalOffset>
+ <physicalOffset>0x2F7D000</physicalOffset>
<physicalRegionSize>0x4000</physicalRegionSize>
<side>A</side>
<sha512Version/>
@@ -366,7 +367,7 @@ Layout Description
<section>
<description>HDAT binary data (16KB)</description>
<eyeCatch>HDAT</eyeCatch>
- <physicalOffset>0x2F86000</physicalOffset>
+ <physicalOffset>0x2F81000</physicalOffset>
<physicalRegionSize>0x8000</physicalRegionSize>
<side>sideless</side>
<sha512Version/>
diff --git a/update_image.pl b/update_image.pl
index a8bafc0..3867300 100755
--- a/update_image.pl
+++ b/update_image.pl
@@ -267,7 +267,7 @@ sub processConvergedSections {
$sections{CVPD}{in} = "$hb_binary_dir/cvpd.bin";
$sections{CVPD}{out} = "$scratch_dir/cvpd.bin.ecc";
$sections{VERSION}{in} = "$openpower_version_filename";
- $sections{VERSION}{out} = "$openpower_version_filename";
+ $sections{VERSION}{out} = "$scratch_dir/openpower_pnor_version.bin";
$sections{IMA_CATALOG}{in} = "$ima_catalog_binary_filename";
$sections{IMA_CATALOG}{out} = "$scratch_dir/ima_catalog.bin.ecc";
@@ -470,8 +470,7 @@ else
run_command("ecc --inject $scratch_dir/hostboot.temp.bin --output $scratch_dir/cvpd.bin.ecc --p8");
# Stage VERSION partition
- run_command("dd if=$openpower_version_filename of=$scratch_dir/openpower_version.temp ibs=4K conv=sync");
- run_command("cp $scratch_dir/openpower_version.temp $openpower_version_filename");
+ run_command("dd if=$openpower_version_filename of=$scratch_dir/openpower_pnor_version.bin ibs=4K conv=sync");
# Inject ECC into IMA_CATALOG partition binary
run_command("dd if=$ima_catalog_binary_filename bs=36K count=1 > $scratch_dir/hostboot.temp.bin");
OpenPOWER on IntegriCloud