Update hostboot commits
diff --git a/openpower/package/hostboot/hostboot-0003-Revert-redundent-copy-of-hb-code-in-pnor.patch b/openpower/package/hostboot/hostboot-0003-Revert-redundent-copy-of-hb-code-in-pnor.patch
index f938bac..0fb587f 100644
--- a/openpower/package/hostboot/hostboot-0003-Revert-redundent-copy-of-hb-code-in-pnor.patch
+++ b/openpower/package/hostboot/hostboot-0003-Revert-redundent-copy-of-hb-code-in-pnor.patch
@@ -1,19 +1,696 @@
-From a05bf62e7eb14354ca2d6ca45b149aac6dbd193c Mon Sep 17 00:00:00 2001
+From 5adea56942b770c02118e322e417f015415421f9 Mon Sep 17 00:00:00 2001
From: Matt Ploetz <maploetz@us.ibm.com>
-Date: Wed, 11 Feb 2015 11:41:48 -0600
-Subject: [PATCH] Revert "Support for Redundant Copy of HB code in PNOR"
+Date: Mon, 16 Feb 2015 14:50:05 -0600
+Subject: [PATCH 1/3] Revert "adding toc offsets to defaultPnorLayout for hwsv
+ team"
+
+This reverts commit 6990adda0f2996cc7baacba9f485c7b5a415904c.
+---
+ src/build/buildpnor/defaultPnorLayout.xml | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/src/build/buildpnor/defaultPnorLayout.xml b/src/build/buildpnor/defaultPnorLayout.xml
+index d5d5d25..897d4db 100644
+--- a/src/build/buildpnor/defaultPnorLayout.xml
++++ b/src/build/buildpnor/defaultPnorLayout.xml
+@@ -28,9 +28,6 @@ Layout Description
+ <imageSize> -> Size of PNOR image in bytes.
+ <blockSize> -> size of erase blocks in bytes.
+ <tocSize> -> size of each partition table
+- <!- TODO:RTC:123734 - remove side offsets once hwsv implements new layout ->
+- <sideAOffset> -> Location of Side A Partition Table
+- <sideBOffset> -> Location of Side B Partition Table
+ <side> -> Contains information about the side
+ <id> -> Id of the side (A or B)
+ <arrangement> -> Tag that specifies the arrangement of the side
+@@ -67,10 +64,6 @@ Layout Description
+ <imageSize>0x4000000</imageSize>
+ <blockSize>0x1000</blockSize>
+ <tocSize>0x8000</tocSize>
+- <!--TODO: RTC 123734 - remove side offsets once hwsv implements new
+- layout-->
+- <sideAOffset>0x0</sideAOffset>
+- <sideBOffset>0x8000</sideBOffset>
+ <arrangement>A-B-D</arrangement>
+ <side>
+ <id>B</id>
+--
+1.8.2.2
+
+
+From d277e6fce112af0088d2179a07482b71cc3f083e Mon Sep 17 00:00:00 2001
+From: Matt Ploetz <maploetz@us.ibm.com>
+Date: Mon, 16 Feb 2015 14:50:17 -0600
+Subject: [PATCH 2/3] Revert "Created 2-sided and golden-side pnor layouts"
+
+This reverts commit e83759d6aa90999933318155772b50a8af679ec6.
+---
+ src/build/buildpnor/buildpnor.pl | 254 ++++++++----------------------
+ src/build/buildpnor/defaultPnorLayout.xml | 69 ++++----
+ src/usr/pnor/common/ffs_hb.H | 3 +-
+ 3 files changed, 96 insertions(+), 230 deletions(-)
+
+diff --git a/src/build/buildpnor/buildpnor.pl b/src/build/buildpnor/buildpnor.pl
+index aad7c34..f6df6c8 100755
+--- a/src/build/buildpnor/buildpnor.pl
++++ b/src/build/buildpnor/buildpnor.pl
+@@ -61,7 +61,6 @@ my $g_trace = 1;
+
+ my $programName = File::Basename::basename $0;
+ my %pnorLayout;
+-my %PhysicalOffsets;
+ my %binFiles;
+ my $pnorLayoutFile;
+ my $pnorBinName = "";
+@@ -71,6 +70,7 @@ my $emitTestSections = 0;
+ my $g_fpartCmd = "";
+ my $g_fcpCmd = "";
+ my %sidelessSecFilled = ();
++
+ my %SideOptions = (
+ A => "A",
+ B => "B",
+@@ -132,7 +132,7 @@ if (-e $pnorBinName)
+ }
+
+ #Load PNOR Layout XML file
+-my $rc = loadPnorLayout($pnorLayoutFile, \%pnorLayout, \%PhysicalOffsets);
++my $rc = loadPnorLayout($pnorLayoutFile, \%pnorLayout);
+ if($rc != 0)
+ {
+ trace(0, "Error detected from call to loadPnorLayout(). Exiting");
+@@ -163,6 +163,8 @@ if($rc != 0)
+ }
+ trace(1, "Done checkSpaceConstraints");
+
++# @TODO RTC: 120062 - Determine which side is Golden, possibly handle a new
++# xml tag
+ # Create all Partition Tables at each TOC offset
+ # Each side has 2 TOC's created at different offsets for backup purposes.
+ # Loop all side sections
+@@ -172,6 +174,7 @@ foreach my $sideId ( keys %{$pnorLayout{metadata}{sides}} )
+ foreach my $toc ( keys %{$pnorLayout{metadata}{sides}{$sideId}{toc}})
+ {
+ my $tocOffset = $pnorLayout{metadata}{sides}{$sideId}{toc}{$toc};
++
+ $rc = createPnorPartition($tocVersion, $pnorBinName, \%pnorLayout,
+ $sideId, $tocOffset);
+ if($rc != 0)
+@@ -179,31 +182,9 @@ foreach my $sideId ( keys %{$pnorLayout{metadata}{sides}} )
+ trace(0, "Error detected from createPnorPartition() $tocOffset Exiting");
+ exit 1;
+ }
+-
+- #Add the golden side tag to the "part" partition of PNOR`
+- my $userflags1 = ($pnorLayout{metadata}{sides}{$sideId}{golden} eq "yes") ?
+- 0x01 : 0x00;
+-
+- #add a golden bit to the misc flags in userflag1
+- $userflags1 = $userflags1 << 16;
+- trace(2, "$g_fpartCmd --target $pnorBinName --partition-offset $tocOffset --user 1 --name part --value $userflags1 --force");
+- $rc = `$g_fpartCmd --target $pnorBinName --partition-offset $tocOffset --user 1 --name part --value $userflags1 --force`;
+- if($rc != 0)
+- {
+- trace(0, "Call to add golden flag to PART failed. rc=$rc. Aborting!");
+- exit;
+- }
+ }
+ }
+
+-#add backup TOC and other side's toc information to each TOC
+-$rc = addTOCInfo(\%pnorLayout, $pnorBinName);
+-if($rc)
+-{
+- trace(0, "Error detected from call to addTOCInfo(). Exiting");
+- exit 1;
+-}
+-
+ # Fill all sides
+ foreach my $sideId ( keys %{$pnorLayout{metadata}{sides}} )
+ {
+@@ -227,7 +208,7 @@ exit 0;
+ ################################################################################
+ sub loadPnorLayout
+ {
+- my ($i_pnorFile, $i_pnorLayoutRef, $i_physicalOffsets) = @_;
++ my ($i_pnorFile, $i_pnorLayoutRef) = @_;
+ my $this_func = (caller(0))[3];
+
+ unless(-e $i_pnorFile)
+@@ -240,6 +221,49 @@ sub loadPnorLayout
+ my $xs = new XML::Simple(keyattr=>[], forcearray => 1);
+ my $xml = $xs->XMLin($i_pnorFile);
+
++ #Save the meatadata - imageSize, blockSize, etc.
++ # @TODO RTC:120062 enhance metadata section, fix metadataE1 to match xml
++ # and change TOC names accordingly
++ foreach my $metadataEl (@{$xml->{metadata}})
++ {
++ # Get meta data
++ my $imageSize = $metadataEl->{imageSize}[0];
++ my $blockSize = $metadataEl->{blockSize}[0];
++ $imageSize = getNumber($imageSize);
++ $blockSize = getNumber($blockSize);
++ $$i_pnorLayoutRef{metadata}{imageSize} = $imageSize;
++ $$i_pnorLayoutRef{metadata}{blockSize} = $blockSize;
++
++ # Get Side A
++ my $sideATocOffset = $metadataEl->{sideATocOffset}[0];
++ my $sideATocBackupOffset = $metadataEl->{sideATocBackupOffset}[0];
++ $sideATocOffset = getNumber($sideATocOffset);
++ $sideATocBackupOffset = getNumber($sideATocBackupOffset);
++ # @TODO RTC: 120062 change pnorLayoutRef hash to match new xml
++ $$i_pnorLayoutRef{metadata}{sides}{$SideOptions{A}}{toc}{primary} = $sideATocOffset;
++ $$i_pnorLayoutRef{metadata}{sides}{$SideOptions{A}}{toc}{backup} = $sideATocBackupOffset;
++
++ # Get side B info (if it exists)
++ if (exists $metadataEl->{sideBTocOffset}[0])
++ {
++ trace(1, "Adding Side B information ....");
++ my $sideBTocOffset = $metadataEl->{sideBTocOffset}[0];
++ my $sideBTocBackupOffset = $metadataEl->{sideBTocBackupOffset}[0];
++ $sideBTocOffset = getNumber($sideBTocOffset);
++ $sideBTocBackupOffset = getNumber($sideBTocBackupOffset);
++ # @TODO RTC: 120062 change pnorLayoutRef hash to match new xml
++ $$i_pnorLayoutRef{metadata}{sides}{$SideOptions{B}}{toc}{primary} = $sideBTocOffset;
++ $$i_pnorLayoutRef{metadata}{sides}{$SideOptions{B}}{toc}{backup} = $sideBTocBackupOffset;
++
++ trace(3, "$this_func: metadata: imageSize = $imageSize, blockSize=$blockSize, sideATocOffset=$sideATocOffset, sideATocBackupOffset=$sideATocBackupOffset, sideBTocOffset=$sideBTocOffset, sideBTocBackupOffset=$sideBTocBackupOffset");
++ }
++ else
++ {
++ trace(3, "$this_func: metadata: imageSize = $imageSize, blockSize=$blockSize, sideATocOffset=$sideATocOffset, sideATocBackupOffset=$sideATocBackupOffset");
++ }
++
++ }
++
+ #Iterate over the <section> elements.
+ foreach my $sectionEl (@{$xml->{section}})
+ {
+@@ -252,6 +276,7 @@ sub loadPnorLayout
+ my $ecc = (exists $sectionEl->{ecc} ? "yes" : "no");
+ my $sha512Version = (exists $sectionEl->{sha512Version} ? "yes" : "no");
+ my $sha512perEC = (exists $sectionEl->{sha512perEC} ? "yes" : "no");
++ my $sideless = (exists $sectionEl->{sideless} ? "yes" : "no");
+ my $preserved = (exists $sectionEl->{preserved} ? "yes" : "no");
+ my $readOnly = (exists $sectionEl->{readOnly} ? "yes" : "no");
+ if (($emitTestSections == 0) && ($sectionEl->{testonly}[0] eq "yes"))
+@@ -272,93 +297,12 @@ sub loadPnorLayout
+ $$i_pnorLayoutRef{sections}{$physicalOffset}{ecc} = $ecc;
+ $$i_pnorLayoutRef{sections}{$physicalOffset}{sha512Version} = $sha512Version;
+ $$i_pnorLayoutRef{sections}{$physicalOffset}{sha512perEC} = $sha512perEC;
++ $$i_pnorLayoutRef{sections}{$physicalOffset}{sideless} = $sideless;
+ $$i_pnorLayoutRef{sections}{$physicalOffset}{preserved} = $preserved;
+ $$i_pnorLayoutRef{sections}{$physicalOffset}{readOnly} = $readOnly;
+
+- #store the physical offsets of each section in a hash, so, it is easy
+- #to search physicalOffsets based on the name of the section (eyecatch)
+- if ($side eq "sideless")
+- {
+- foreach my $metadata (@{$xml->{metadata}})
+- {
+- foreach my $sides (@{$metadata->{side}})
+- {
+- $$i_physicalOffsets{side}{$sides->{id}[0]}{eyecatch}{$eyeCatch} = $physicalOffset;
+- }
+- }
+- }
+- else
+- {
+- $$i_physicalOffsets{side}{$side}{eyecatch}{$eyeCatch} = $physicalOffset;
+- }
+ }
+- # Save the metadata - imageSize, blockSize, toc Information etc.
+- foreach my $metadataEl (@{$xml->{metadata}})
+- {
+- # Get meta data
+- my $imageSize = $metadataEl->{imageSize}[0];
+- my $blockSize = $metadataEl->{blockSize}[0];
+- my $tocSize = $metadataEl->{tocSize}[0];
+- my $arrangement = $metadataEl->{arrangement}[0];
+- $imageSize = getNumber($imageSize);
+- $blockSize = getNumber($blockSize);
+- $tocSize = getNumber($tocSize);
+- $$i_pnorLayoutRef{metadata}{imageSize} = $imageSize;
+- $$i_pnorLayoutRef{metadata}{blockSize} = $blockSize;
+- $$i_pnorLayoutRef{metadata}{tocSize} = $tocSize;
+- $$i_pnorLayoutRef{metadata}{arrangement} = $arrangement;
+-
+- my $numOfSides = scalar (@{$metadataEl->{side}});
+- my $sideSize = ($imageSize)/($numOfSides);
+-
+- trace(1, " $this_func: metadata: imageSize = $imageSize, blockSize=$blockSize, arrangement = $arrangement, numOfSides: $numOfSides, sideSize: $sideSize, tocSize: $tocSize");
+-
+- #determine the TOC offsets from the arrangement and side Information
+- #stored in the layout xml
+- #
+- #Arrangement A-B-D means that the layout had Primary TOC (A), then backup TOC (B), then Data (pnor section information).
+- #Similaryly, arrangement A-D-B means that primary toc is followed by the data (section information) and then
+- #the backup TOC.
+- if ($arrangement eq "A-B-D")
+- {
+- my $count = 0;
+- foreach my $side (@{$metadataEl->{side}})
+- {
+- my $golden = (exists $side->{golden} ? "yes" : "no");
+- my $sideId = $side->{id}[0];
+- my $primaryTOC = ($sideSize)*($count);
+- my $backupTOC = ($primaryTOC)+($tocSize);
+
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{toc}{primary} = $primaryTOC;
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{toc}{backup} = $backupTOC;
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{golden} = $golden;
+-
+- $count = $count + 1;
+- trace(1, "A-B-D: side:$sideId primaryTOC:$primaryTOC, backupTOC:$backupTOC, golden: $golden");
+- }
+- }
+- elsif ($arrangement eq "A-D-B")
+- {
+- foreach my $side (@{$metadataEl->{side}})
+- {
+- my $golden = (exists $side->{golden} ? "yes" : "no");
+- my $sideId = $side->{id}[0];
+- my $hbbAddr = $$i_physicalOffsets{side}{$sideId}{eyecatch}{"HBB"};
+- my $primaryTOC = align_down($hbbAddr, $sideSize);
+- my $backupTOC = align_up($hbbAddr, $sideSize) - $tocSize;
+-
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{toc}{primary} = $primaryTOC;
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{toc}{backup} = $backupTOC;
+- $$i_pnorLayoutRef{metadata}{sides}{$sideId}{golden} = $golden;
+- trace(1, "A-D-B: side:$sideId HBB:$hbbAddr, primaryTOC:$primaryTOC, backupTOC:$backupTOC, golden: $golden");
+- }
+- }
+- else
+- {
+- trace(0, "Arrangement:$arrangement is not supported");
+- exit(1);
+- }
+- }
+ return 0;
+ }
+
+@@ -387,6 +331,7 @@ sub createPnorImg
+ $rc = 1;
+ last;
+ }
++
+ #f{fs,part} --create tuleta.pnor --partition-offset 0 --size 8MiB --block 4KiB --force
+ trace(2, "$g_fpartCmd --target $i_pnorBinName --partition-offset $i_offset --create --size $imageSize --block $blockSize --force");
+ $rc = `$g_fpartCmd --target $i_pnorBinName --partition-offset $i_offset --create --size $imageSize --block $blockSize --force`;
+@@ -449,6 +394,7 @@ sub addUserData
+ $miscFlags |= 0x40;
+ }
+
++
+ #First User Data Word
+ #[1:chip][1:compressType][2:dataInteg]
+ my $userflags0 = ($chip << 24)
+@@ -503,6 +449,7 @@ sub createPnorPartition
+ {
+ last;
+ }
++
+ #get Block size
+ my $blockSize = $$i_pnorLayoutRef{metadata}{blockSize};
+
+@@ -551,7 +498,7 @@ sub createPnorPartition
+
+ #Add Partition
+ #f{fs,part} --add --target tuleta.pnor --partition-offset 0 --offset 0x1000 --size 0x280000 --name HBI --flags 0x0
+- trace(2, "$this_func: $g_fpartCmd --target $i_pnorBinName --partition-offset $offset --add --offset $physicalOffset --size $physicalRegionSize --name $eyeCatch --flags 0x0");
++ trace(2, "$g_fpartCmd --target $i_pnorBinName --partition-offset $offset --add --offset $physicalOffset --size $physicalRegionSize --name $eyeCatch --flags 0x0");
+ $rc = `$g_fpartCmd --target $i_pnorBinName --partition-offset $offset --add --offset $physicalOffset --size $physicalRegionSize --name $eyeCatch --flags 0x0`;
+ if($rc)
+ {
+@@ -588,67 +535,6 @@ sub createPnorPartition
+ }
+
+ ################################################################################
+-# addTOCInfo -- adds BACKUP_PART and OTHER_SIDE information to all the TOCs
+-################################################################################
+-sub addTOCInfo
+-{
+- my ($i_pnorLayout, $i_pnorBinName) = @_;
+- my $rc = 0;
+- my $other_idx = 0;
+- my $sideShift = 0;
+- my @all_tocs;
+- foreach my $sideId (keys %{$$i_pnorLayout{metadata}{sides}})
+- {
+- push @all_tocs, $$i_pnorLayout{metadata}{sides}{$sideId}{toc}{primary};
+- push @all_tocs, $$i_pnorLayout{metadata}{sides}{$sideId}{toc}{backup};
+- }
+- foreach my $sideId ( keys %{$$i_pnorLayout{metadata}{sides}} )
+- {
+- my $physicalRegionSize = $$i_pnorLayout{metadata}{tocSize};
+- my $backup_part = "BACKUP_PART";
+- my $other_side = "OTHER_SIDE";
+- my $backup_idx = 0;
+- my $otherSide = getOtherSide($sideId);
+- my $numOfTOCs = scalar keys %{$$i_pnorLayout{metadata}{sides}{$sideId}{toc}};
+-
+- #Adding an extra entry in the TOC that points to its backup TOC and other side's TOC (if other side exists).
+- #This is used to search for all the TOCs in PnorRP code. The idea is to create a link between the tocs such that
+- #if we can find one valid TOC, then we can look at its BACKUP_PART entry or OTHER_SIDE entry in the TOC to
+- #determine the location of backup TOC.Each TOC has only one BACKUP_PART entry and one OTHER_SIDE entry.
+- foreach my $toc (keys %{$$i_pnorLayout{metadata}{sides}{$sideId}{toc}})
+- {
+- #adding backup_part
+- my $toc_offset = $$i_pnorLayout{metadata}{sides}{$sideId}{toc}{$toc};
+- my $backup_offset = $all_tocs[(($backup_idx + 1)% $numOfTOCs) + $sideShift ];
+- trace(1, "$g_fpartCmd --target $i_pnorBinName --partition-offset $toc_offset --add --offset $backup_offset --size $physicalRegionSize --name $backup_part --flags 0x0");
+- $rc = `$g_fpartCmd --target $i_pnorBinName --partition-offset $toc_offset --add --offset $backup_offset --size $physicalRegionSize --name $backup_part --flags 0x0`;
+- if($rc)
+- {
+- trace(0, "Call to add partition $backup_part failed. rc=$rc. Aborting!");
+- exit;
+- }
+-
+- #Don't add OTHER_SIDE section if there is only one side in PNOR
+- if ((scalar keys % {$$i_pnorLayout{metadata}{sides}}) > 1)
+- {
+- #adding other_side
+- my $otherSide_offset = $all_tocs[(($other_idx + 2)% scalar @all_tocs)];
+- trace(1, "$g_fpartCmd --target $i_pnorBinName --partition-offset $toc_offset --add --offset $otherSide_offset --size $physicalRegionSize --name $other_side --flags 0x0");
+- $rc = `$g_fpartCmd --target $i_pnorBinName --partition-offset $toc_offset --add --offset $otherSide_offset --size $physicalRegionSize --name $other_side --flags 0x0`;
+- if($rc)
+- {
+- trace(0, "Call to add partition $other_side failed. rc=$rc. Aborting!");
+- exit;
+- }
+- }
+- $backup_idx++;
+- $other_idx++;
+- }
+- $sideShift = $sideShift + $numOfTOCs;
+- }
+- return $rc;
+-}
+-################################################################################
+ # robustifyImgs - Perform any ECC or ShawHash manipulations
+ ################################################################################
+ sub robustifyImgs
+@@ -663,24 +549,6 @@ sub robustifyImgs
+ }
+
+ ################################################################################
+-# align_down: Align the input to the lower end of the PNOR side
+-################################################################################
+-sub align_down
+-{
+- my ($addr,$n) = @_;
+- return (($addr) - ($addr)%($n));
+-}
+-
+-################################################################################
+-# align_up: Align the input address to the higher end of the PNOR side
+-################################################################################
+-sub align_up
+-{
+- my ($addr,$n) = @_;
+- return ((($addr) + ($n-1)) & ~($n-1));
+-}
+-
+-################################################################################
+ # findLayoutKeyByEyeCatch - Figure out hash key based on eyeCatcher
+ ################################################################################
+ sub findLayoutKeyByEyeCatch
+@@ -828,7 +696,7 @@ sub fillPnorImage
+ last;
+ }
+ }
+- }
++ }
+
+ return $rc;
+ }
+@@ -924,7 +792,15 @@ sub getSideInfo
+ my $side = "";
+ my $eyeCatch = $i_sectionHash{$i_key}{eyeCatch};
+
+- $side = $i_sectionHash{$i_key}{side};
++
++ if($i_sectionHash{$i_key}{sideless} eq "yes")
++ {
++ return $SideOptions{sideless};
++ }
++ else
++ {
++ $side = $i_sectionHash{$i_key}{side};
++ }
+
+ # Error paths
+ if ($side eq "")
+diff --git a/src/build/buildpnor/defaultPnorLayout.xml b/src/build/buildpnor/defaultPnorLayout.xml
+index 897d4db..249bdb4 100644
+--- a/src/build/buildpnor/defaultPnorLayout.xml
++++ b/src/build/buildpnor/defaultPnorLayout.xml
+@@ -25,16 +25,12 @@
+ <!--
+ Layout Description
+ <metadata> Element -> Contains high-level information about the PNOR layout.
+- <imageSize> -> Size of PNOR image in bytes.
+- <blockSize> -> size of erase blocks in bytes.
+- <tocSize> -> size of each partition table
+- <side> -> Contains information about the side
+- <id> -> Id of the side (A or B)
+- <arrangement> -> Tag that specifies the arrangement of the side
+- (A-B-D or A-D-B)
+- A-B-D: Primary TOC (A),Backup TOC (B), and Section Information (Data - D)
+- A-D-B: Primary TOC (A), Section Information (Data - D), Backup TOC (B)
+- <golden/> -> Indicates that the side of the PNOR is golden
++ <imageSize> -> Size of PNOR image in bytes.
++ <blockSize> -> size of erase blocks in bytes.
++ <sideATocOffset> -> Location of Side A Partition Table
++ <sideATocBackupOffset>-> Location of Side A Backup Partition Table
++ <sideBTocOffset> -> Location of Side B Partition Table
++ <sideBTocBackupOffset>-> Location of Side B Backup Partition Table
+ </metadata>
+ <section> Element -> Contains information about a PNOR Partition
+ <description> -> Text description of the partition.
+@@ -43,12 +39,11 @@ Layout Description
+ <physicalOffset>-> Offset of the Partition in PNOR
+ in bytes.
+ <physicalSize> -> Size of the Partition in bytes.
+- <side> -> Side that this section is associated with.
+- could be (A, B, or sideless)
+- A - Section is associated with side A
+- B - Section is associated with side B
+- sideless - Indicates partition will be in both TOCs but
+- only one copy of the partition should be created
++ <side> -> Side the Partition should be associated with. This
++ determines if the partition should be added to the
++ partition table at <sideATocOffset> or <sideBTocOffset>
++ <sideless/> -> Indicates partition will be in both TOCs but only one
++ copy of the partition should be created
+ <testonly/> -> Indicates partition is used for internal testing only.
+ Partition should be skipped in production environments.
+ <ecc/> -> Indicates Partition should be ECC protected
+@@ -63,18 +58,16 @@ Layout Description
+ <metadata>
+ <imageSize>0x4000000</imageSize>
+ <blockSize>0x1000</blockSize>
+- <tocSize>0x8000</tocSize>
+- <arrangement>A-B-D</arrangement>
+- <side>
+- <id>B</id>
+- </side>
++ <!-- @TODO RTC: 120062 - Enhance meta info -->
++ <sideATocOffset>0x0</sideATocOffset>
++ <sideATocBackupOffset>0x8000</sideATocBackupOffset>
+ </metadata>
+ <section>
+ <description>Hostboot Error Logs (144K)</description>
+ <eyeCatch>HBEL</eyeCatch>
+ <physicalOffset>0x10000</physicalOffset>
+ <physicalRegionSize>0x24000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -82,7 +75,7 @@ Layout Description
+ <eyeCatch>GUARD</eyeCatch>
+ <physicalOffset>0x58000</physicalOffset>
+ <physicalRegionSize>0x5000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -90,7 +83,7 @@ Layout Description
+ <eyeCatch>HBD</eyeCatch>
+ <physicalOffset>0x5D000</physicalOffset>
+ <physicalRegionSize>0x120000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -99,7 +92,7 @@ Layout Description
+ <!--NOTE: MUST update standalone.simics if offset changes -->
+ <physicalOffset>0x17D000</physicalOffset>
+ <physicalRegionSize>0x48000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -108,7 +101,7 @@ Layout Description
+ <!--NOTE: MUST update standalone.simics if offset changes -->
+ <physicalOffset>0x1C5000</physicalOffset>
+ <physicalRegionSize>0x90000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -117,7 +110,7 @@ Layout Description
+ <!--NOTE: MUST update standalone.simics if offset changes -->
+ <physicalOffset>0x255000</physicalOffset>
+ <physicalRegionSize>0x48000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -126,7 +119,7 @@ Layout Description
+ <physicalOffset>0x29D000</physicalOffset>
+ <physicalRegionSize>0x5A0000</physicalRegionSize>
+ <sha512Version/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -135,7 +128,7 @@ Layout Description
+ <physicalOffset>0x83D000</physicalOffset>
+ <physicalRegionSize>0x90000</physicalRegionSize>
+ <sha512perEC/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -144,7 +137,7 @@ Layout Description
+ <physicalOffset>0x8CD000</physicalOffset>
+ <physicalRegionSize>0x48000</physicalRegionSize>
+ <sha512perEC/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -153,7 +146,7 @@ Layout Description
+ <physicalOffset>0x915000</physicalOffset>
+ <physicalRegionSize>0x120000</physicalRegionSize>
+ <sha512Version/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -162,7 +155,7 @@ Layout Description
+ <physicalOffset>0xA35000</physicalOffset>
+ <physicalRegionSize>0x240000</physicalRegionSize>
+ <sha512Version/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -170,7 +163,7 @@ Layout Description
+ <eyeCatch>PAYLOAD</eyeCatch>
+ <physicalOffset>0xC75000</physicalOffset>
+ <physicalRegionSize>0x1680000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -179,7 +172,7 @@ Layout Description
+ <physicalOffset>0x3590000</physicalOffset>
+ <physicalRegionSize>0x9000</physicalRegionSize>
+ <testonly/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -187,8 +180,8 @@ Layout Description
+ <eyeCatch>TESTRO</eyeCatch>
+ <physicalOffset>0x3599000</physicalOffset>
+ <physicalRegionSize>0x9000</physicalRegionSize>
+- <side>sideless</side>
+ <testonly/>
++ <sideless/>
+ <preserved/>
+ <readOnly/>
+ <ecc/>
+@@ -196,13 +189,11 @@ Layout Description
+ <section>
+ <description>Hostboot Base (576K)</description>
+ <!--NOTE: MUST update standalone.simics if offset changes -->
+- <!--NOTE: HBB must be at pnorSize-0x99000 for a new proc
+- part to be bootable -->
+ <eyeCatch>HBB</eyeCatch>
+ <physicalOffset>0x3F67000</physicalOffset>
+ <physicalRegionSize>0x90000</physicalRegionSize>
+ <sha512Version/>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ <section>
+@@ -210,7 +201,7 @@ Layout Description
+ <eyeCatch>GLOBAL</eyeCatch>
+ <physicalOffset>0x3FF7000</physicalOffset>
+ <physicalRegionSize>0x9000</physicalRegionSize>
+- <side>sideless</side>
++ <sideless/>
+ <ecc/>
+ </section>
+ </pnor>
+diff --git a/src/usr/pnor/common/ffs_hb.H b/src/usr/pnor/common/ffs_hb.H
+index 30a6173..c96911b 100644
+--- a/src/usr/pnor/common/ffs_hb.H
++++ b/src/usr/pnor/common/ffs_hb.H
+@@ -66,8 +66,7 @@ enum
+ /* Miscellaneous Bits : 1 byte */
+ FFS_MISC_PRESERVED = 0x80, /**< Preserved across code updates */
+ FFS_MISC_READ_ONLY = 0x40, /**< Read only section */
+- FFS_MISC_GOLDEN = 0x01, /**< Golden side of PNOR */
+- FFS_MISC_UNUSED = 0x1E, /**< Unused MISC Flags */
++ FFS_MISC_UNUSED = 0x1F, /**< Unused MISC Flags */
+ };
+
+ /**
+--
+1.8.2.2
+
+
+From fc5492346de6fdc8e2f58e8ec58881de6aae5510 Mon Sep 17 00:00:00 2001
+From: Matt Ploetz <maploetz@us.ibm.com>
+Date: Mon, 16 Feb 2015 14:58:48 -0600
+Subject: [PATCH 3/3] Revert "Support for Redundant Copy of HB code in PNOR"
This reverts commit 67c5a1ebe73f81bca1bb6608bbb8f204f0f37fa8.
+
+Conflicts:
+ src/usr/sbe/sbe_update.C
+
+Change-Id: I84530811fb6204a29e879bce8065a17964df1a72
---
- src/build/buildpnor/buildpnor.pl | 590 +++++++++++-----------------
- src/build/buildpnor/defaultPnorLayout.xml | 91 ++---
- src/build/mkrules/hbfw/img/makefile | 4 +-
- src/include/usr/hwas/hwasPlatDeconfigGard.H | 19 +-
+ src/build/buildpnor/buildpnor.pl | 588 +++++++++++-----------------
+ src/build/buildpnor/defaultPnorLayout.xml | 87 ++--
+ src/build/mkrules/hbfw/img/makefile | 2 +-
+ src/include/usr/hwas/hwasPlatDeconfigGard.H | 15 -
src/include/usr/pnor/pnor_reasoncodes.H | 2 -
src/include/usr/pnor/pnorif.H | 39 +-
- src/usr/hwas/hwasPlatDeconfigGard.C | 89 +----
+ src/usr/hwas/hwasPlatDeconfigGard.C | 87 +---
src/usr/pnor/HBconfig | 5 -
- src/usr/pnor/common/ffs_hb.H | 7 +-
+ src/usr/pnor/common/ffs_hb.H | 3 +-
src/usr/pnor/makefile | 1 -
src/usr/pnor/pnor_common.C | 182 ++-------
src/usr/pnor/pnor_common.H | 19 +-
@@ -24,25 +701,16 @@
src/usr/pnor/runtime/rt_pnor.C | 11 +-
src/usr/pnor/runtime/rt_pnor.H | 2 +-
src/usr/pnor/test/pnorrptest.H | 104 +----
- src/usr/sbe/sbe_update.C | 95 +++--
- src/usr/sbe/sbe_update.H | 38 +-
+ src/usr/sbe/sbe_update.C | 97 +++--
+ src/usr/sbe/sbe_update.H | 34 +-
src/usr/sbe/test/sbeupdatetest.H | 24 +-
- 22 files changed, 535 insertions(+), 1057 deletions(-)
+ 22 files changed, 529 insertions(+), 1043 deletions(-)
delete mode 100644 src/usr/pnor/pnorsbe.C
diff --git a/src/build/buildpnor/buildpnor.pl b/src/build/buildpnor/buildpnor.pl
-index f6df6c8..51b6922 100755
+index f6df6c8..7c5bd92 100755
--- a/src/build/buildpnor/buildpnor.pl
+++ b/src/build/buildpnor/buildpnor.pl
-@@ -6,7 +6,7 @@
- #
- # OpenPOWER HostBoot Project
- #
--# Contributors Listed Below - COPYRIGHT 2012,2015
-+# Contributors Listed Below - COPYRIGHT 2012,2014
- # [+] International Business Machines Corp.
- #
- #
@@ -62,20 +62,16 @@ my $g_trace = 1;
my $programName = File::Basename::basename $0;
my %pnorLayout;
@@ -810,21 +1478,10 @@
################################################################################
diff --git a/src/build/buildpnor/defaultPnorLayout.xml b/src/build/buildpnor/defaultPnorLayout.xml
-index 249bdb4..e34f0fe 100644
+index 249bdb4..e20439e 100644
--- a/src/build/buildpnor/defaultPnorLayout.xml
+++ b/src/build/buildpnor/defaultPnorLayout.xml
-@@ -5,9 +5,7 @@
- <!-- -->
- <!-- OpenPOWER HostBoot Project -->
- <!-- -->
--<!-- Contributors Listed Below - COPYRIGHT 2012,2015 -->
--<!-- [+] International Business Machines Corp. -->
--<!-- -->
-+<!-- COPYRIGHT International Business Machines Corp. 2012,2014 -->
- <!-- -->
- <!-- Licensed under the Apache License, Version 2.0 (the "License"); -->
- <!-- you may not use this file except in compliance with the License. -->
-@@ -24,50 +22,48 @@
+@@ -24,50 +24,48 @@
<!-- IBM_PROLOG_END_TAG -->
<!--
Layout Description
@@ -905,7 +1562,7 @@
<ecc/>
</section>
<section>
-@@ -75,7 +71,6 @@ Layout Description
+@@ -75,7 +73,6 @@ Layout Description
<eyeCatch>GUARD</eyeCatch>
<physicalOffset>0x58000</physicalOffset>
<physicalRegionSize>0x5000</physicalRegionSize>
@@ -913,7 +1570,7 @@
<ecc/>
</section>
<section>
-@@ -83,7 +78,6 @@ Layout Description
+@@ -83,7 +80,6 @@ Layout Description
<eyeCatch>HBD</eyeCatch>
<physicalOffset>0x5D000</physicalOffset>
<physicalRegionSize>0x120000</physicalRegionSize>
@@ -921,7 +1578,7 @@
<ecc/>
</section>
<section>
-@@ -92,7 +86,6 @@ Layout Description
+@@ -92,7 +88,6 @@ Layout Description
<!--NOTE: MUST update standalone.simics if offset changes -->
<physicalOffset>0x17D000</physicalOffset>
<physicalRegionSize>0x48000</physicalRegionSize>
@@ -929,7 +1586,7 @@
<ecc/>
</section>
<section>
-@@ -101,7 +94,6 @@ Layout Description
+@@ -101,7 +96,6 @@ Layout Description
<!--NOTE: MUST update standalone.simics if offset changes -->
<physicalOffset>0x1C5000</physicalOffset>
<physicalRegionSize>0x90000</physicalRegionSize>
@@ -937,7 +1594,7 @@
<ecc/>
</section>
<section>
-@@ -110,7 +102,6 @@ Layout Description
+@@ -110,7 +104,6 @@ Layout Description
<!--NOTE: MUST update standalone.simics if offset changes -->
<physicalOffset>0x255000</physicalOffset>
<physicalRegionSize>0x48000</physicalRegionSize>
@@ -945,7 +1602,7 @@
<ecc/>
</section>
<section>
-@@ -119,7 +110,6 @@ Layout Description
+@@ -119,7 +112,6 @@ Layout Description
<physicalOffset>0x29D000</physicalOffset>
<physicalRegionSize>0x5A0000</physicalRegionSize>
<sha512Version/>
@@ -953,7 +1610,7 @@
<ecc/>
</section>
<section>
-@@ -128,7 +118,6 @@ Layout Description
+@@ -128,7 +120,6 @@ Layout Description
<physicalOffset>0x83D000</physicalOffset>
<physicalRegionSize>0x90000</physicalRegionSize>
<sha512perEC/>
@@ -961,7 +1618,7 @@
<ecc/>
</section>
<section>
-@@ -137,7 +126,6 @@ Layout Description
+@@ -137,7 +128,6 @@ Layout Description
<physicalOffset>0x8CD000</physicalOffset>
<physicalRegionSize>0x48000</physicalRegionSize>
<sha512perEC/>
@@ -969,7 +1626,7 @@
<ecc/>
</section>
<section>
-@@ -146,7 +134,6 @@ Layout Description
+@@ -146,7 +136,6 @@ Layout Description
<physicalOffset>0x915000</physicalOffset>
<physicalRegionSize>0x120000</physicalRegionSize>
<sha512Version/>
@@ -977,7 +1634,7 @@
<ecc/>
</section>
<section>
-@@ -155,7 +142,6 @@ Layout Description
+@@ -155,7 +144,6 @@ Layout Description
<physicalOffset>0xA35000</physicalOffset>
<physicalRegionSize>0x240000</physicalRegionSize>
<sha512Version/>
@@ -985,7 +1642,7 @@
<ecc/>
</section>
<section>
-@@ -163,7 +149,6 @@ Layout Description
+@@ -163,7 +151,6 @@ Layout Description
<eyeCatch>PAYLOAD</eyeCatch>
<physicalOffset>0xC75000</physicalOffset>
<physicalRegionSize>0x1680000</physicalRegionSize>
@@ -993,7 +1650,7 @@
<ecc/>
</section>
<section>
-@@ -172,18 +157,6 @@ Layout Description
+@@ -172,18 +159,6 @@ Layout Description
<physicalOffset>0x3590000</physicalOffset>
<physicalRegionSize>0x9000</physicalRegionSize>
<testonly/>
@@ -1012,7 +1669,7 @@
<ecc/>
</section>
<section>
-@@ -193,7 +166,6 @@ Layout Description
+@@ -193,7 +168,6 @@ Layout Description
<physicalOffset>0x3F67000</physicalOffset>
<physicalRegionSize>0x90000</physicalRegionSize>
<sha512Version/>
@@ -1020,7 +1677,7 @@
<ecc/>
</section>
<section>
-@@ -201,7 +173,6 @@ Layout Description
+@@ -201,7 +175,6 @@ Layout Description
<eyeCatch>GLOBAL</eyeCatch>
<physicalOffset>0x3FF7000</physicalOffset>
<physicalRegionSize>0x9000</physicalRegionSize>
@@ -1029,18 +1686,9 @@
</section>
</pnor>
diff --git a/src/build/mkrules/hbfw/img/makefile b/src/build/mkrules/hbfw/img/makefile
-index 925061e..c0b0900 100755
+index 925061e..8b229ad 100755
--- a/src/build/mkrules/hbfw/img/makefile
+++ b/src/build/mkrules/hbfw/img/makefile
-@@ -5,7 +5,7 @@
- #
- # OpenPOWER HostBoot Project
- #
--# Contributors Listed Below - COPYRIGHT 2012,2015
-+# Contributors Listed Below - COPYRIGHT 2012,2014
- # [+] International Business Machines Corp.
- #
- #
@@ -226,7 +226,7 @@ PNOR_BUILD_SCRIPT = ${buildpnor.pl:P}
#so need to use tryinclude for now.
.tryinclude <${.PATH:Ffips_pnor.mk}>
@@ -1051,21 +1699,10 @@
HBFW_OBJPATH = ${.PATH:M*obj*}
diff --git a/src/include/usr/hwas/hwasPlatDeconfigGard.H b/src/include/usr/hwas/hwasPlatDeconfigGard.H
-index c439a42..4b89353 100644
+index c439a42..985d261 100644
--- a/src/include/usr/hwas/hwasPlatDeconfigGard.H
+++ b/src/include/usr/hwas/hwasPlatDeconfigGard.H
-@@ -5,9 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2012,2015 */
--/* [+] International Business Machines Corp. */
--/* */
-+/* COPYRIGHT International Business Machines Corp. 2012,2014 */
- /* */
- /* Licensed under the Apache License, Version 2.0 (the "License"); */
- /* you may not use this file except in compliance with the License. */
-@@ -32,8 +30,6 @@
+@@ -32,8 +32,6 @@
#ifndef HWASPLATDECONFIGGARD_H_
#define HWASPLATDECONFIGGARD_H_
@@ -1074,7 +1711,7 @@
/**
* @brief Adapt common singleton declaration to specific platform
*
-@@ -68,19 +64,6 @@ struct HBDeconfigGard
+@@ -68,19 +66,6 @@ struct HBDeconfigGard
void *iv_pGardRecords; // Pointer to the GARD Records in PNOR
};
@@ -1200,18 +1837,9 @@
#endif
diff --git a/src/usr/hwas/hwasPlatDeconfigGard.C b/src/usr/hwas/hwasPlatDeconfigGard.C
-index 2911cf3..912f7d4 100644
+index 2911cf3..f163c0c 100644
--- a/src/usr/hwas/hwasPlatDeconfigGard.C
+++ b/src/usr/hwas/hwasPlatDeconfigGard.C
-@@ -5,7 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2013,2015 */
-+/* Contributors Listed Below - COPYRIGHT 2013,2014 */
- /* [+] Google Inc. */
- /* [+] International Business Machines Corp. */
- /* */
@@ -52,15 +52,6 @@ using namespace HWAS::COMMON;
using namespace TARGETING;
@@ -1374,21 +2002,10 @@
- help
- This is used to turn on/off two sided pnor support
diff --git a/src/usr/pnor/common/ffs_hb.H b/src/usr/pnor/common/ffs_hb.H
-index c96911b..b638021 100644
+index c96911b..3defcd4 100644
--- a/src/usr/pnor/common/ffs_hb.H
+++ b/src/usr/pnor/common/ffs_hb.H
-@@ -5,9 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2012,2015 */
--/* [+] International Business Machines Corp. */
--/* */
-+/* COPYRIGHT International Business Machines Corp. 2012,2014 */
- /* */
- /* Licensed under the Apache License, Version 2.0 (the "License"); */
- /* you may not use this file except in compliance with the License. */
-@@ -27,7 +25,7 @@
+@@ -27,7 +27,7 @@
/*
* FSP Destination: src/hbfw/fsp/pnor/common/ffs_hb.H
@@ -1397,7 +2014,7 @@
* NOTE: Do NOT modify this file in CMVC directly! It comes from the Hostboot
* repository and will be overwritten.
*/
-@@ -65,7 +63,6 @@ enum
+@@ -65,7 +65,6 @@ enum
/* Miscellaneous Bits : 1 byte */
FFS_MISC_PRESERVED = 0x80, /**< Preserved across code updates */
@@ -2381,10 +2998,10 @@
/**
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C
-index 698d41a..9dd9e0a 100644
+index a2fad1e..f9865ca 100644
--- a/src/usr/sbe/sbe_update.C
+++ b/src/usr/sbe/sbe_update.C
-@@ -1214,6 +1214,49 @@ namespace SBE
+@@ -1221,6 +1221,49 @@ namespace SBE
}
/////////////////////////////////////////////////////////////////////
@@ -2434,7 +3051,7 @@
errlHndl_t getSbeInfoState(sbeTargetState_t& io_sbeState)
{
-@@ -1308,11 +1351,11 @@ namespace SBE
+@@ -1315,11 +1358,11 @@ namespace SBE
if(SEEPROM_0_PERMANENT_VALUE ==
(io_sbeState.mvpdSbKeyword.flags & PERMANENT_FLAG_MASK))
{
@@ -2448,7 +3065,7 @@
}
-@@ -1361,21 +1404,21 @@ namespace SBE
+@@ -1368,21 +1411,21 @@ namespace SBE
/* Determine which SEEPROM System Booted On */
/***********************************************/
//Get Current (boot) Side
@@ -2476,7 +3093,7 @@
}
else
{
-@@ -2012,7 +2055,7 @@ namespace SBE
+@@ -2018,7 +2061,7 @@ namespace SBE
/* Determine what side to update */
/**************************************************************/
// Set cur and alt isDirty values
@@ -2485,7 +3102,16 @@
{
current_side_isDirty = seeprom_0_isDirty;
alt_side_isDirty = seeprom_1_isDirty;
-@@ -2179,14 +2222,14 @@ namespace SBE
+@@ -2207,7 +2250,7 @@ namespace SBE
+ // Set Update side to cur
+ io_sbeState.seeprom_side_to_update =
+ ( io_sbeState.cur_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
+ ? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP;
+
+ TRACFCOMP( g_trac_sbe, INFO_MRK"SBE Update tgt=0x%X: "
+@@ -2251,14 +2294,14 @@ namespace SBE
io_sbeState.seeprom_side_to_update = EEPROM::SBE_PRIMARY;
// Update MVPD PERMANENT flag: make cur=perm
@@ -2502,12 +3128,12 @@
// clear bit 1
io_sbeState.mvpdSbKeyword.flags &= ~REIPL_SEEPROM_MASK
: //set bit 1
-@@ -2252,18 +2295,18 @@ namespace SBE
-
+@@ -2325,18 +2368,18 @@ namespace SBE
// Set Update side to alt
io_sbeState.seeprom_side_to_update =
-- ( io_sbeState.alt_seeprom_side == PNOR::SBE_SEEPROM0 )
-+ ( io_sbeState.alt_seeprom_side == SBE_SEEPROM0 )
+ ( io_sbeState.alt_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP ;
// Update MVPD PERMANENT flag: make cur=perm
@@ -2524,12 +3150,12 @@
// clear bit 1
io_sbeState.mvpdSbKeyword.flags &= ~REIPL_SEEPROM_MASK
: //set bit 1
-@@ -2298,13 +2341,13 @@ namespace SBE
-
+@@ -2372,13 +2415,13 @@ namespace SBE
// Set Update side to alt
io_sbeState.seeprom_side_to_update =
-- ( io_sbeState.alt_seeprom_side == PNOR::SBE_SEEPROM0 )
-+ ( io_sbeState.alt_seeprom_side == SBE_SEEPROM0 )
+ ( io_sbeState.alt_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP ;
@@ -2540,12 +3166,12 @@
// clear bit 0
io_sbeState.mvpdSbKeyword.flags &= ~PERMANENT_FLAG_MASK
: // set bit 0
-@@ -2358,11 +2401,11 @@ namespace SBE
-
+@@ -2433,11 +2476,11 @@ namespace SBE
// Set Update side to alt
io_sbeState.seeprom_side_to_update =
-- ( io_sbeState.alt_seeprom_side == PNOR::SBE_SEEPROM0 )
-+ ( io_sbeState.alt_seeprom_side == SBE_SEEPROM0 )
+ ( io_sbeState.alt_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP ;
// Update MVPD RE-IPL SEEPROM flag: re-IPL on ALT:
@@ -2554,7 +3180,7 @@
// clear bit 1
io_sbeState.mvpdSbKeyword.flags &= ~REIPL_SEEPROM_MASK
: // set bit 1
-@@ -2373,7 +2416,7 @@ namespace SBE
+@@ -2448,7 +2491,7 @@ namespace SBE
if ( g_istep_mode )
{
// Update MVPD PERMANENT flag: make alt=perm
@@ -2563,12 +3189,12 @@
// clear bit 0
io_sbeState.mvpdSbKeyword.flags &= ~PERMANENT_FLAG_MASK
: //set bit 0
-@@ -2455,11 +2498,11 @@ namespace SBE
-
+@@ -2531,11 +2574,11 @@ namespace SBE
// Set Update side to alt
io_sbeState.seeprom_side_to_update =
-- ( io_sbeState.alt_seeprom_side == PNOR::SBE_SEEPROM0 )
-+ ( io_sbeState.alt_seeprom_side == SBE_SEEPROM0 )
+ ( io_sbeState.alt_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP ;
// Update MVPD RE-IPL SEEPROM flag: re-IPL on ALT:
@@ -2577,21 +3203,21 @@
// clear bit 1
io_sbeState.mvpdSbKeyword.flags &= ~REIPL_SEEPROM_MASK
: // set bit 1
-@@ -2491,7 +2534,7 @@ namespace SBE
-
+@@ -2568,7 +2611,7 @@ namespace SBE
// Set Update side to alt
io_sbeState.seeprom_side_to_update =
-- ( io_sbeState.alt_seeprom_side == PNOR::SBE_SEEPROM0 )
-+ ( io_sbeState.alt_seeprom_side == SBE_SEEPROM0 )
+ ( io_sbeState.alt_seeprom_side ==
+- PNOR::SBE_SEEPROM0 )
++ SBE_SEEPROM0 )
? EEPROM::SBE_PRIMARY : EEPROM::SBE_BACKUP ;
TRACFCOMP( g_trac_sbe, INFO_MRK"SBE Update tgt=0x%X: "
-@@ -3201,12 +3244,12 @@ namespace SBE
-
+@@ -3279,12 +3322,12 @@ namespace SBE
// Compare against 'current' Master side in case there is
// an issue with the other side
-- if (io_sbeStates_v[i].cur_seeprom_side == PNOR::SBE_SEEPROM0)
-+ if (io_sbeStates_v[i].cur_seeprom_side == SBE_SEEPROM0)
+ if (io_sbeStates_v[i].cur_seeprom_side ==
+- PNOR::SBE_SEEPROM0)
++ SBE_SEEPROM0)
{
ver_ptr =
&(io_sbeStates_v[i].seeprom_0_ver.image_version);
@@ -2601,12 +3227,12 @@
{
ver_ptr =
&(io_sbeStates_v[i].seeprom_1_ver.image_version);
-@@ -3346,12 +3389,12 @@ namespace SBE
- else
+@@ -3428,12 +3471,12 @@ namespace SBE
{
// Not Master, so get 'current' version
-- if (io_sbeStates_v[i].cur_seeprom_side == PNOR::SBE_SEEPROM0)
-+ if (io_sbeStates_v[i].cur_seeprom_side == SBE_SEEPROM0)
+ if (io_sbeStates_v[i].cur_seeprom_side ==
+- PNOR::SBE_SEEPROM0)
++ SBE_SEEPROM0)
{
ver_ptr =
&(io_sbeStates_v[i].seeprom_0_ver.image_version);
@@ -2617,21 +3243,10 @@
ver_ptr =
&(io_sbeStates_v[i].seeprom_1_ver.image_version);
diff --git a/src/usr/sbe/sbe_update.H b/src/usr/sbe/sbe_update.H
-index e49c582..aa880b2 100644
+index e49c582..09aa476 100644
--- a/src/usr/sbe/sbe_update.H
+++ b/src/usr/sbe/sbe_update.H
-@@ -5,9 +5,7 @@
- /* */
- /* OpenPOWER HostBoot Project */
- /* */
--/* Contributors Listed Below - COPYRIGHT 2013,2015 */
--/* [+] International Business Machines Corp. */
--/* */
-+/* COPYRIGHT International Business Machines Corp. 2013,2014 */
- /* */
- /* Licensed under the Apache License, Version 2.0 (the "License"); */
- /* you may not use this file except in compliance with the License. */
-@@ -55,6 +53,10 @@ namespace SBE
+@@ -55,6 +55,10 @@ namespace SBE
const uint64_t SBE_IMAGE_SEEPROM_ADDRESS = 0x400; // 1KB
const uint64_t SBE_VERSION_SEEPROM_ADDRESS = 0x300; // 1KB - 256B
@@ -2642,7 +3257,7 @@
// PNOR SBE and SBEC Partition constants
const uint32_t MAX_SBE_ENTRIES = 9;
const uint32_t SBETOC_EYECATCH = 0x53424500; //'SBE\0'
-@@ -104,6 +106,14 @@ namespace SBE
+@@ -104,6 +108,14 @@ namespace SBE
MVPDOP_WRITE, // Write version data to MVPD
};
@@ -2657,7 +3272,7 @@
// Actions can be combined
enum sbeUpdateActions_t
{
-@@ -117,6 +127,7 @@ namespace SBE
+@@ -117,6 +129,7 @@ namespace SBE
UNSUPPORTED_SITUATION = 0x80000000,
};
@@ -2665,7 +3280,7 @@
/******************************************/
/* Structs */
/******************************************/
-@@ -196,9 +207,9 @@ namespace SBE
+@@ -196,9 +209,9 @@ namespace SBE
bool seeprom_0_ver_ECC_fail;
bool seeprom_1_ver_ECC_fail;
@@ -2678,7 +3293,7 @@
// Customized Image Information for this Target
size_t customizedImage_size;
-@@ -318,6 +329,21 @@ namespace SBE
+@@ -318,6 +331,21 @@ namespace SBE
void* io_imgPtr,
size_t& o_actImgSize);