summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCamVan Nguyen <ctnguyen@us.ibm.com>2012-12-05 10:59:57 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-12-08 00:37:33 -0600
commit01483b0a1d95eebcdc41948309123de3e82dedd9 (patch)
treead30d87de3b7d46f7cdc35ef56b6a8af2fb35a92 /src
parent33504d264b9b34674af2cc61790eb4df58a123e0 (diff)
downloadtalos-hostboot-01483b0a1d95eebcdc41948309123de3e82dedd9.tar.gz
talos-hostboot-01483b0a1d95eebcdc41948309123de3e82dedd9.zip
Additional tweaks to MPIPL attributes.
Change-Id: I43f9f9dd38d2cfe90a0f2df6984e4f715a822157 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2560 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/fsi/fsidd.C4
-rw-r--r--src/usr/hwpf/hwp/system_attributes.xml2
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C2
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types_hb.xml (renamed from src/usr/targeting/xmltohb/attribute_types_hb.xml)8
-rw-r--r--src/usr/targeting/common/xmltohb/target_types_hb.xml (renamed from src/usr/targeting/xmltohb/target_types_hb.xml)2
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/xmltohb.pl45
-rw-r--r--src/usr/targeting/xmltohb/makefile4
7 files changed, 24 insertions, 43 deletions
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C
index 43eba0a5b..e7acb52d9 100644
--- a/src/usr/fsi/fsidd.C
+++ b/src/usr/fsi/fsidd.C
@@ -1231,7 +1231,7 @@ errlHndl_t FsiDD::initPort(FsiChipInfo_t i_fsiInfo,
// Do not do any hardware initialization in mpipl
uint8_t is_mpipl = 0;
if( sys
- && sys->tryGetAttr<TARGETING::ATTR_IS_MPIPL>(is_mpipl)
+ && sys->tryGetAttr<TARGETING::ATTR_IS_MPIPL_HB>(is_mpipl)
&& is_mpipl )
{
TRACFCOMP( g_trac_fsi, "FsiDD::initPort> Skipping Slave Init in MPIPL" );
@@ -1362,7 +1362,7 @@ errlHndl_t FsiDD::initMasterControl(TARGETING::Target* i_master,
// Do not do any hardware initialization in mpipl
uint8_t is_mpipl = 0;
if( sys
- && sys->tryGetAttr<TARGETING::ATTR_IS_MPIPL>(is_mpipl)
+ && sys->tryGetAttr<TARGETING::ATTR_IS_MPIPL_HB>(is_mpipl)
&& is_mpipl )
{
TRACFCOMP( g_trac_fsi, "FsiDD::initMasterControl> Skipping Master Init in MPIPL" );
diff --git a/src/usr/hwpf/hwp/system_attributes.xml b/src/usr/hwpf/hwp/system_attributes.xml
index 0e4086307..bd91c398f 100644
--- a/src/usr/hwpf/hwp/system_attributes.xml
+++ b/src/usr/hwpf/hwp/system_attributes.xml
@@ -52,7 +52,7 @@
</attribute>
<!-- ********************************************************************* -->
<attribute>
- <id>ATTR_IS_MPIPL</id>
+ <id>ATTR_IS_MPIPL_HB</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>1 = in Memory Preserving IPL mode. 0 = in normal IPL mode.</description>
<valueType>uint8</valueType>
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index f52cc1db7..c73041280 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -946,7 +946,7 @@ bool IStepDispatcher::checkMpiplMode( ) const
}
else
{
- l_isMpiplMode = l_pTopLevel->getAttr<ATTR_IS_MPIPL> ();
+ l_isMpiplMode = l_pTopLevel->getAttr<ATTR_IS_MPIPL_HB> ();
}
return l_isMpiplMode;
diff --git a/src/usr/targeting/xmltohb/attribute_types_hb.xml b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
index 8d4bbd8c9..c64a2506a 100644
--- a/src/usr/targeting/xmltohb/attribute_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types_hb.xml
@@ -30,7 +30,7 @@
================================================================= -->
<attribute>
- <id>IS_MPIPL</id>
+ <id>IS_MPIPL_HB</id>
<description>1 = in Memory Preserving IPL mode. 0 = in normal IPL mode.</description>
<simpleType>
<uint8_t>
@@ -41,9 +41,10 @@
<readable/>
<writeable/>
<hwpfToHbAttrMap>
- <id>ATTR_IS_MPIPL</id>
+ <id>ATTR_IS_MPIPL_HB</id>
<macro>DIRECT</macro>
</hwpfToHbAttrMap>
+ <hbOnly/>
</attribute>
<attribute>
@@ -171,6 +172,7 @@
<persistency>volatile-zeroed</persistency>
<readable/>
<writeable/>
+ <hbOnly/>
</attribute>
<attribute>
@@ -185,6 +187,7 @@
<persistency>volatile-zeroed</persistency>
<readable/>
<writeable/>
+ <hbOnly/>
</attribute>
<attribute>
@@ -198,6 +201,7 @@
<persistency>volatile-zeroed</persistency>
<readable/>
<writeable/>
+ <hbOnly/>
</attribute>
</attributes>
diff --git a/src/usr/targeting/xmltohb/target_types_hb.xml b/src/usr/targeting/common/xmltohb/target_types_hb.xml
index 4604bbb75..9d7d2b04f 100644
--- a/src/usr/targeting/xmltohb/target_types_hb.xml
+++ b/src/usr/targeting/common/xmltohb/target_types_hb.xml
@@ -31,7 +31,7 @@
<targetTypeExtension>
<id>sys-sys-power8</id>
- <attribute><id>IS_MPIPL</id></attribute>
+ <attribute><id>IS_MPIPL_HB</id></attribute>
<attribute><id>HB_MUTEX_TEST_LOCK</id></attribute>
</targetTypeExtension>
diff --git a/src/usr/targeting/common/xmltohb/xmltohb.pl b/src/usr/targeting/common/xmltohb/xmltohb.pl
index 6e3c36676..98392becc 100755
--- a/src/usr/targeting/common/xmltohb/xmltohb.pl
+++ b/src/usr/targeting/common/xmltohb/xmltohb.pl
@@ -70,7 +70,6 @@ my $cfgVerbose = 0;
my $cfgShortEnums = 0;
my $cfgBigEndian = 1;
my $cfgIncludeFspAttributes = 0;
-my $cfgIncludeHbAttributes = 0;
GetOptions("hb-xml-file:s" => \$cfgHbXmlFile,
"src-output-dir:s" => \$cfgSrcOutputDir,
@@ -81,7 +80,6 @@ GetOptions("hb-xml-file:s" => \$cfgHbXmlFile,
"short-enums!" => \$cfgShortEnums,
"big-endian!" => \$cfgBigEndian,
"include-fsp-attributes!" => \$cfgIncludeFspAttributes,
- "include-hb-attributes!" => \$cfgIncludeHbAttributes,
"help" => \$cfgHelp,
"man" => \$cfgMan,
"verbose" => \$cfgVerbose ) || pod2usage(-verbose => 0);
@@ -110,7 +108,6 @@ if($cfgVerbose)
print STDOUT "Short enums = $cfgShortEnums\n";
print STDOUT "Big endian = $cfgBigEndian\n";
print STDOUT "include-fsp-attributes = $cfgIncludeFspAttributes\n",
- print STDOUT "include-hb-attributes = $cfgIncludeHbAttributes\n",
}
################################################################################
@@ -3374,20 +3371,16 @@ sub generateTargetingImage {
my $pnorRwBaseAddress = $pnorRoBaseAddress + $vmmSectionOffset;
my $heapPnorInitBaseAddr = $pnorRwBaseAddress + $vmmSectionOffset;
my $heapZeroInitBaseAddr = $heapPnorInitBaseAddr + $vmmSectionOffset;
-
- #We will either have additional FSP sections or Hostboot section but not both
+ my $hbHeapZeroInitBaseAddr = $heapZeroInitBaseAddr + $vmmSectionOffset;
# Split "fsp" into additional sections
- my $fspP0DefaultedFromZeroBaseAddr = $heapZeroInitBaseAddr + $vmmSectionOffset;
+ my $fspP0DefaultedFromZeroBaseAddr = $hbHeapZeroInitBaseAddr + $vmmSectionOffset;
my $fspP0DefaultedFromP3BaseAddr = $fspP0DefaultedFromZeroBaseAddr + $vmmSectionOffset;
my $fspP3RoBaseAddr = $fspP0DefaultedFromP3BaseAddr + $vmmSectionOffset;
my $fspP3RwBaseAddr = $fspP3RoBaseAddr + $vmmSectionOffset;
my $fspP1DefaultedFromZeroBaseAddr = $fspP3RwBaseAddr + $vmmSectionOffset;
my $fspP1DefaultedFromP3BaseAddr = $fspP1DefaultedFromZeroBaseAddr + $vmmSectionOffset;
- # Hostboot specific section
- my $hbHeapZeroInitBaseAddr = $heapZeroInitBaseAddr + $vmmSectionOffset;
-
# Reserve 256 bytes for the header, then keep track of PNOR RO offset
my $headerSize = 256;
my $offset = $headerSize;
@@ -3927,6 +3920,14 @@ sub generateTargetingImage {
$sectionHoH{ heapZeroInit }{ size } =
sizeBlockAligned($heapZeroInitOffset,$blockSize,1);
+ # zeroInitSection occupies no space in the binary, so set the
+ # Hostboot section address to that of the zeroInitSection
+ $sectionHoH{ hbHeapZeroInit }{ offset } =
+ $sectionHoH{heapZeroInit}{ offset };
+ $sectionHoH{ hbHeapZeroInit }{ type } = 10;
+ $sectionHoH{ hbHeapZeroInit }{ size } =
+ sizeBlockAligned($hbHeapZeroInitOffset,$blockSize,1);
+
# Split "fsp" into additional sections
if($cfgIncludeFspAttributes)
{
@@ -3971,16 +3972,6 @@ sub generateTargetingImage {
$sectionHoH{ fspP1DefaultedFromP3 }{ size } =
sizeBlockAligned($fspP1DefaultedFromP3Offset,$blockSize,1);
}
- elsif($cfgIncludeHbAttributes)
- {
- # zeroInitSection occupies no space in the binary, so set the
- # Hostboot section address to that of the zeroInitSection
- $sectionHoH{ hbHeapZeroInit }{ offset } =
- $sectionHoH{heapZeroInit}{ offset };
- $sectionHoH{ hbHeapZeroInit }{ type } = 10;
- $sectionHoH{ hbHeapZeroInit }{ size } =
- sizeBlockAligned($hbHeapZeroInitOffset,$blockSize,1);
- }
my $numSections = keys %sectionHoH;
@@ -4000,7 +3991,7 @@ sub generateTargetingImage {
$headerBinData .= pack4byte($offsetToSections);
# Split "fsp" into additional sections
- my @sections = ("pnorRo","pnorRw","heapPnorInit","heapZeroInit");
+ my @sections = ("pnorRo","pnorRw","heapPnorInit","heapZeroInit", "hbHeapZeroInit");
if($cfgIncludeFspAttributes)
{
push(@sections,"fspP0DefaultedFromZero");
@@ -4010,10 +4001,6 @@ sub generateTargetingImage {
push(@sections,"fspP1DefaultedFromZero");
push(@sections,"fspP1DefaultedFromP3");
}
- elsif($cfgIncludeHbAttributes)
- {
- push(@sections,"hbHeapZeroInit");
- }
foreach my $section (@sections)
{
@@ -4174,16 +4161,6 @@ generated code.
Omits FSP specific attributes and targets from the generated binaries and
generated code. This is the default behavior.
-=item B<--include-hb-attributes>
-
-Emits Hostboot specific attributes and targets into the generated binaries and
-generated code.
-
-=item B<--noinclude-hb-attributes>
-
-Omits Hostboot specific attributes and targets from the generated binaries and
-generated code. This is the default behavior.
-
=item B<--verbose>
Prints out some internal workings
diff --git a/src/usr/targeting/xmltohb/makefile b/src/usr/targeting/xmltohb/makefile
index 5a38c02fc..2cc853475 100644
--- a/src/usr/targeting/xmltohb/makefile
+++ b/src/usr/targeting/xmltohb/makefile
@@ -110,7 +110,7 @@ ${EXTRA_PARTS}: ${IMGDIR}/% : ${GENDIR}/%
# create merged target xml
${GENDIR}/${XMLTOHB_MERGED_COMMON_TARGET_SOURCES}: \
${XMLTOHB_TARGET_MERGE_SCRIPT} ${XMLTOHB_COMMON_TARGET_SOURCES} ${XMLTOHB_HB_TARGET_SOURCES}
- ./${XMLTOHB_TARGET_MERGE_SCRIPT} $(addprefix --hb=,${XMLTOHB_HB_TARGET_SOURCES}) \
+ ./${XMLTOHB_TARGET_MERGE_SCRIPT} $(addprefix --hb=,${COMMON_TARGETING_REL_PATH}/${XMLTOHB_HB_TARGET_SOURCES}) \
$(addprefix --common=,${COMMON_TARGETING_REL_PATH}/${XMLTOHB_COMMON_TARGET_SOURCES}) > $@
# generic XML is created from the generic sources only
@@ -144,5 +144,5 @@ ${GENDIR}/%_targeting.bin: ${XMLTOHB_COMPILER_SCRIPT} ${GENDIR}/%.hb.xml \
$(addprefix --fapi-attributes-xml-file=,${GENDIR}/${XMLTOHB_FAPI_XML}) \
--src-output-dir=none --img-output-dir=$(dir $@) \
--img-output-file=$(notdir $@) \
- --vmm-consts-file=$(VMM_CONSTS_FILE) --noshort-enums --include-hb-attributes
+ --vmm-consts-file=$(VMM_CONSTS_FILE) --noshort-enums
OpenPOWER on IntegriCloud