diff options
author | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-05-07 14:21:27 +1000 |
---|---|---|
committer | Samuel Mendoza-Jonas <sam@mendozajonas.com> | 2018-08-28 11:05:07 +1000 |
commit | 850ff8bb50fd1c14ac40af2899094f286209a805 (patch) | |
tree | ec1f531a5d94a1b25ae4e0fc7e803e93c15d609e | |
parent | ed44abe88db9748404a3974464e056bc1b541eb0 (diff) | |
download | pnor-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-x | create_pnor_image.pl | 2 | ||||
-rw-r--r-- | p9Layouts/defaultPnorLayout_128.xml | 17 | ||||
-rw-r--r-- | p9Layouts/defaultPnorLayout_64.xml | 17 | ||||
-rwxr-xr-x | update_image.pl | 5 |
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"); |