summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/fapi/fapiParseAttributeInfo.pl
diff options
context:
space:
mode:
authorMike Jones <mjjones@us.ibm.com>2011-11-17 19:38:31 -0600
committerMIKE J. JONES <mjjones@us.ibm.com>2011-11-21 12:07:50 -0600
commit11c80c5abcf203e5a65098ea047fd6d2a6e607cc (patch)
tree1e1a5246e8ed0b25b66e6e1e34bba7622f63bbea /src/usr/hwpf/fapi/fapiParseAttributeInfo.pl
parentb9d93e82a069b6650f3bd7b43abe6aecc0bf2e4e (diff)
downloadblackbird-hostboot-11c80c5abcf203e5a65098ea047fd6d2a6e607cc.tar.gz
blackbird-hostboot-11c80c5abcf203e5a65098ea047fd6d2a6e607cc.zip
HWPF: Only support initfile attributes in fapiGetInitFileAttr()
Change-Id: Ia1ffa854d55b68f0e32595080bba323cd52e23a3 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/503 Tested-by: Jenkins Server Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com> Reviewed-by: CAMVAN T. NGUYEN <ctnguyen@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/fapi/fapiParseAttributeInfo.pl')
-rwxr-xr-xsrc/usr/hwpf/fapi/fapiParseAttributeInfo.pl95
1 files changed, 5 insertions, 90 deletions
diff --git a/src/usr/hwpf/fapi/fapiParseAttributeInfo.pl b/src/usr/hwpf/fapi/fapiParseAttributeInfo.pl
index 333e68440..e493255ec 100755
--- a/src/usr/hwpf/fapi/fapiParseAttributeInfo.pl
+++ b/src/usr/hwpf/fapi/fapiParseAttributeInfo.pl
@@ -47,13 +47,11 @@
# camvanng 10/20/11 Changed i_pTarget to "const" ptr
# camvanng 11/09/11 Prepend "ENUM_" to attribute
# enums
+# mjjones 11/15/11 Move gen of fapiAttributeService.C
+# to a different file
#
# End Change Log ******************************************************
-#
-# Usage:
-# fapiParseAttributeInfo.pl <output dir> <filename1> <filename2> ...
-
use strict;
#------------------------------------------------------------------------------
@@ -62,7 +60,7 @@ use strict;
my $numArgs = $#ARGV + 1;
if ($numArgs < 2)
{
- print ("Usage: fapiParseAttributeInfo.pl <output dir> <filename1> <filename2> ...\n");
+ print ("Usage: fapiParseAttributeInfo.pl <output dir> <attr-xml-file1> [<attr-xml-file2> ...]\n");
print (" This perl script will parse attribute XML files and add\n");
print (" attribute information to a file called fapiAttributeIds.H\n");
exit(1);
@@ -78,18 +76,13 @@ my $xml = new XML::Simple (KeyAttr=>[]);
#use Data::Dumper;
#------------------------------------------------------------------------------
-# Open output files for writing
+# Open output file for writing
#------------------------------------------------------------------------------
my $aiFile = $ARGV[0];
$aiFile .= "/";
$aiFile .= "fapiAttributeIds.H";
open(AIFILE, ">", $aiFile);
-my $asFile = $ARGV[0];
-$asFile .= "/";
-$asFile .= "fapiAttributeService.C";
-open(ASFILE, ">", $asFile);
-
#------------------------------------------------------------------------------
# Print Start of file information to fapiAttributeIds.H
#------------------------------------------------------------------------------
@@ -105,24 +98,6 @@ print AIFILE " *\/\n";
print AIFILE "enum AttributeId\n{\n";
#------------------------------------------------------------------------------
-# Print Start of file information to fapiAttributeService.C
-#------------------------------------------------------------------------------
-print ASFILE "// fapiAttributeService.C\n";
-print ASFILE "// This file is generated by perl script fapiParseAttributeInfo.pl\n\n";
-print ASFILE "#include <fapiAttributeService.H>\n\n";
-print ASFILE "namespace fapi\n";
-print ASFILE "{\n\n";
-print ASFILE "ReturnCode fapiGetInitFileAttr(const AttributeId i_id,\n";
-print ASFILE " const Target * i_pTarget,\n";
-print ASFILE " uint64_t & o_val,\n";
-print ASFILE " const uint32_t i_arrayIndex1,\n";
-print ASFILE " const uint32_t i_arrayIndex2,\n";
-print ASFILE " const uint32_t i_arrayIndex3,\n";
-print ASFILE " const uint32_t i_arrayIndex4)\n";
-print ASFILE "{\n";
-print ASFILE " ReturnCode l_rc;\n\n";
-
-#------------------------------------------------------------------------------
# For each XML file
#------------------------------------------------------------------------------
foreach my $argnum (1 .. $#ARGV)
@@ -287,47 +262,6 @@ foreach my $argnum (1 .. $#ARGV)
# Print newline between each attribute's info to fapiAttributeIds.H
#----------------------------------------------------------------------
print AIFILE "\n";
-
- #----------------------------------------------------------------------
- # Print the attribute get code to fapiAttributeService.C
- # *** TODO ***
- # Currently, all attributes are supported in fapiGetInitFileAttr() in
- # fapiAttributeService.C. Ideally only the initfile attributes should
- # be supported to minimize code size. Need to figure out how to do this
- #----------------------------------------------------------------------
- if ($attCount > 0)
- {
- print ASFILE " else ";
- }
- else
- {
- print ASFILE " ";
- }
- $attCount++;
-
- print ASFILE "if (i_id == $attr->{id})\n";
- print ASFILE " {\n";
- print ASFILE " $attr->{id}_Type l_attr;\n";
- print ASFILE " l_rc = FAPI_ATTR_GET($attr->{id}, i_pTarget, l_attr);\n";
- print ASFILE " o_val = l_attr";
-
- if ($numArrayDimensions >= 5)
- {
- print ("fapiParseAttributeInfo.pl ERROR. More than 4 array dimensions!!\n");
- exit(1);
- }
- else
- {
- for (my $i = 0; $i < $numArrayDimensions; $i++)
- {
- print ASFILE "[i_arrayIndex";
- print ASFILE $i+1;
- print ASFILE "]";
- }
- }
-
- print ASFILE ";\n";
- print ASFILE " }\n";
};
}
@@ -338,25 +272,6 @@ print AIFILE "}\n\n";
print AIFILE "#endif\n";
#------------------------------------------------------------------------------
-# Print End of file information to fapiAttributeService.C
-#--------------------------------------------------------------------------
-print ASFILE " else\n";
-print ASFILE " {\n";
-print ASFILE " FAPI_ERR(\"fapiGetInitFileAttr: Unrecognized attr: %d\", i_id);\n";
-print ASFILE " ReturnCodeFfdc::addEIFfdc(l_rc, static_cast<uint32_t>(i_id));";
-print ASFILE " l_rc = FAPI_RC_INVALID_ATTR_GET;\n";
-print ASFILE " }\n\n";
-print ASFILE " if (l_rc)\n";
-print ASFILE " {\n";
-print ASFILE " FAPI_ERR(\"fapiGetInitFileAttr: Error getting attr\");\n";
-print ASFILE " }\n\n";
-print ASFILE " return l_rc;\n";
-print ASFILE "}\n\n";
-print ASFILE "}\n";
-
-
-#------------------------------------------------------------------------------
-# Close output files
+# Close output file
#------------------------------------------------------------------------------
close(AIFILE);
-close(ASFILE);
OpenPOWER on IntegriCloud