diff options
Diffstat (limited to 'src/usr/errl')
| -rw-r--r-- | src/usr/errl/parser/errlparserbase.C | 81 | ||||
| -rwxr-xr-x | src/usr/errl/parser/errlusrparser.C | 185 | ||||
| -rwxr-xr-x | src/usr/errl/parser/genErrlParsers.pl | 34 | ||||
| -rw-r--r-- | src/usr/errl/parser/makefile | 5 | 
4 files changed, 30 insertions, 275 deletions
diff --git a/src/usr/errl/parser/errlparserbase.C b/src/usr/errl/parser/errlparserbase.C deleted file mode 100644 index 5baf03e09..000000000 --- a/src/usr/errl/parser/errlparserbase.C +++ /dev/null @@ -1,81 +0,0 @@ -//  IBM_PROLOG_BEGIN_TAG -//  This is an automatically generated prolog. -// -//  $Source: src/usr/errl/parser/errlparserbase.C $ -// -//  IBM CONFIDENTIAL -// -//  COPYRIGHT International Business Machines Corp. 2011 -// -//  p1 -// -//  Object Code Only (OCO) source materials -//  Licensed Internal Code Source Materials -//  IBM HostBoot Licensed Internal Code -// -//  The source code for this program is not published or other- -//  wise divested of its trade secrets, irrespective of what has -//  been deposited with the U.S. Copyright Office. -// -//  Origin: 30 -// -//  IBM_PROLOG_END -/** - *  @file errlparsebase.C - * - *  @brief <Brief Description of this file> - * - *  <Detailed description of what this file does, functions it includes, - *  etc,> -*/ - - -/*****************************************************************************/ -// I n c l u d e s -/*****************************************************************************/ -#include <errl/parser/errlparserbase.H> - - -///< Maximum displayable characters -static const int    LINE_WIDTH = 78; - - - -/*****************************************************************************/ -// Constructor -/*****************************************************************************/ -ErrlParser::ErrlParser( -    FILE *		i_output -) -{ - -} - - -/*****************************************************************************/ -// Destructor -/*****************************************************************************/ -ErrlParser::~ErrlParser() -{ - -} - - -/*****************************************************************************/ -// Numeric Print -/*****************************************************************************/ -void ErrlParser::PrintNumber( -    const char * i_label, -    const char * i_fmt, -    uint32_t	 i_value -) -{ -    char l_tmp[LINE_WIDTH]; - -    snprintf(l_tmp,LINE_WIDTH,i_fmt,i_value); -    l_tmp[LINE_WIDTH-1] = 0; - -    PrintString( i_label, l_tmp ); -} - - diff --git a/src/usr/errl/parser/errlusrparser.C b/src/usr/errl/parser/errlusrparser.C deleted file mode 100755 index 569b2202d..000000000 --- a/src/usr/errl/parser/errlusrparser.C +++ /dev/null @@ -1,185 +0,0 @@ -//  IBM_PROLOG_BEGIN_TAG -//  This is an automatically generated prolog. -// -//  $Source: src/usr/errl/parser/errlusrparser.C $ -// -//  IBM CONFIDENTIAL -// -//  COPYRIGHT International Business Machines Corp. 2011 -// -//  p1 -// -//  Object Code Only (OCO) source materials -//  Licensed Internal Code Source Materials -//  IBM HostBoot Licensed Internal Code -// -//  The source code for this program is not published or other- -//  wise divested of its trade secrets, irrespective of what has -//  been deposited with the U.S. Copyright Office. -// -//  Origin: 30 -// -//  IBM_PROLOG_END -/** - *  @file errlusrparser.C - * - *  @brief <Brief Description of this file> - * - *  <Detailed description of what this file does, functions it includes, - *  etc,> -*/ - -/*****************************************************************************/ -// I n c l u d e s -/*****************************************************************************/ -#include <cstring> -#include <ctype.h> -#include <cstdarg> - -#include <errl/parser/errlusrparser.H> - -/*****************************************************************************/ -//  Constant string defines -/*****************************************************************************/ -const   char *  ERRL_MSG_UNKNOWN        =   "Unknown"; -const   char *  ERRL_MSG_BOOL_TRUE      =   "True"; -const   char *  ERRL_MSG_BOOL_FALSE     =   "False"; -const   char *  ERRL_MSG_STR_ENABLED    =   "Enabled"; -const   char *  ERRL_MSG_STR_DISABLED   =   "Disabled"; - - -/*****************************************************************************/ -// Send the label & return # of chars printed -/*****************************************************************************/ -static int PrintLabel( -                     FILE *   i_stream, -                     const char * i_label -                     ) -{ -    if ( ! i_label ) -    { -        i_label = ""; -    } - -    return fprintf(i_stream,"| %-25.25s: ",i_label); -} - - -/*****************************************************************************/ -// Regular string ( may be multiline ) -/*****************************************************************************/ -void ErrlUsrParser::PrintString( -                               const char * i_label, -                               const char * i_string -                               ) -{ -    // Must make sure the string fits on the available width -    int l_strlen = 0; -    int l_printed = 0; - - -    // Ensure String is valid -    if ( i_string ) -    { -        l_strlen = strlen( i_string ); -    } - -    // Fake a blank string -    if ( ! l_strlen ) -    { -        l_strlen = 1; -        i_string = " "; -    } - -    // Print it out -    while ( l_strlen > l_printed ) -    { -        // Leader ( label or blanks ) -        PrintLabel( iv_Stream, i_label ); - -        // label is only printed once -        i_label = ""; - -        l_printed += fprintf( -                            iv_Stream, -                            "%-50.50s", -                            i_string+l_printed -                            ); - -        fprintf(iv_Stream,"|\n"); -    } -} -/*****************************************************************************/ -// Numeric Print -/*****************************************************************************/ -void ErrlUsrParser::PrintNumber( -                               const char * i_label, -                               const char * i_fmt, -                               uint32_t     i_value -                               ){ -    ErrlParser::PrintNumber( i_label, i_fmt, i_value ); -} - - -/*****************************************************************************/ -// Hex Dump -/*****************************************************************************/ -void ErrlUsrParser::PrintHexDump( -                                const void * i_data, -                                uint32_t     i_len -                                ) -{ -    uint32_t i = 0 ; -    uint32_t l_counter = 0; -    uint32_t l_written; -    uint8_t *l_data = (uint8_t*)i_data; - -    while ( l_counter < i_len) -    { -        fprintf(iv_Stream,"|   %08X     ",l_counter); - -        // Display 16 bytes in Hex with 2 spaces in between -        l_written = 0; -        for ( i = 0; i < 16 && l_counter < i_len; i++ ) -        { -            l_written += fprintf(iv_Stream,"%02X",l_data[l_counter++]); - -            if ( ! ( l_counter % 4 ) ) -            { -                l_written += fprintf(iv_Stream,"  "); -            } -        } - -        // Pad with spaces -        fprintf(iv_Stream,"%-*c",43-l_written,' '); - -        // Display ASCII -- fk1 -        l_written = 0; -        uint8_t l_char; -        for ( ; i > 0 ; i-- ) -        { -            l_char = l_data[ l_counter-i ]; - -            if ( isprint( l_char ) && -                 ( l_char != '&' ) && -                 ( l_char != '<' ) && -                 ( l_char != '>' ) -               ) -            { -                l_written += fprintf( iv_Stream,"%c",l_char ); -            } -            else -            { -                l_written += fprintf( iv_Stream,"." ); -            } -        } - -        // Pad with spaces -- fk1 -        fprintf( iv_Stream,"%-*c|\n",19-l_written,' ' ); - - - -    } -} - - diff --git a/src/usr/errl/parser/genErrlParsers.pl b/src/usr/errl/parser/genErrlParsers.pl index 33ddabbdc..bd36799dd 100755 --- a/src/usr/errl/parser/genErrlParsers.pl +++ b/src/usr/errl/parser/genErrlParsers.pl @@ -737,14 +737,19 @@ print OFILE "\# Do not modify this file in the FSP tree, it is provided by\n";  print OFILE "\# Hostboot and will be overwritten\n";  print OFILE "\#\n";  print OFILE "CFLAGS += -DPARSER\n\n"; +print OFILE "EXPLIBS =\n\n";  print OFILE "\#-------------------------------------------------------------\n";  print OFILE "\# SRC Parsers\n";  print OFILE "\#-------------------------------------------------------------\n";  foreach my $compValue (keys %compValueToParseHash)  { -    print OFILE "libB-$compValue" . "00.so_OFILES = hbfwSrcParse$compValue.o\n"; -    print OFILE "libB-$compValue" . "00.so_EXTRA_LIBS = libbase.so\n\n"; +    print OFILE ".if ( \$(CONTEXT) != \"x86.nfp\" )\n"; +    print OFILE "\tlibB-$compValue" . "00.so_OFILES = hbfwSrcParse$compValue.o\n"; +    print OFILE "\tlibB-$compValue" . "00.so_EXTRA_LIBS = libbase.so\n\n"; +    print OFILE ".else\n"; +    print OFILE "\tlibB-$compValue" . "00.a_OFILES = hbfwSrcParse$compValue.o\n"; +    print OFILE ".endif\n";  }  print OFILE "\#-------------------------------------------------------------\n"; @@ -752,18 +757,39 @@ print OFILE "\# User Detail Data Parsers\n";  print OFILE "\#-------------------------------------------------------------\n";  foreach my $compValue (keys %compValToUdFilesHash)  { -    print OFILE "libB-$compValue" . "00.so_OFILES += $compValToUdFilesHash{$compValue}\n\n"; +        print OFILE ".if ( \$(CONTEXT) != \"x86.nfp\" )\n"; +        print OFILE "libB-$compValue" . "00.so_OFILES += $compValToUdFilesHash{$compValue}\n"; +        print OFILE ".else\n"; +        print OFILE "libB-$compValue" . "00.a_OFILES += $compValToUdFilesHash{$compValue}\n"; +        print OFILE ".endif\n"; +  } +print OFILE ".if ( \$(CONTEXT) != \"x86.nfp\" )\n";  print OFILE "\#-------------------------------------------------------------\n";  print OFILE "\# Shared library for each component\n";  print OFILE "\#-------------------------------------------------------------\n";  print OFILE "SHARED_LIBRARIES = "; -  foreach my $compValue (keys %compValueToParseHash)  {      print OFILE "libB-$compValue" . "00.so ";  } +print OFILE "\n.else\n"; +print OFILE "\#-------------------------------------------------------------\n"; +print OFILE "\# x86 mode generate an archive file for each component\n"; +print OFILE "\#-------------------------------------------------------------\n"; +print OFILE "LIBRARIES = "; +foreach my $compValue (keys %compValueToParseHash) +{ +    print OFILE "libB-$compValue" . "00.a "; +} +print OFILE "\nEXPLIBS = "; +foreach my $compValue (keys %compValueToParseHash) +{ +    print OFILE "libB-$compValue" . "00.a "; +} +print OFILE "\n.endif\n"; +  print OFILE "\n\n.include<\${RULES_MK}>\n"; diff --git a/src/usr/errl/parser/makefile b/src/usr/errl/parser/makefile index 69451597a..7e5628c05 100644 --- a/src/usr/errl/parser/makefile +++ b/src/usr/errl/parser/makefile @@ -52,11 +52,6 @@ gen_pass:  mkdirs  ${GENDIR}/comps.C ${ERRLPARSE_TARGETS}  code_pass: ${IMGDIR}/errlparser -# errlparserbase and errlusrparser are plugins stuff, not errlparser.  -# OBJFILES = ${OBJDIR}/errlparserbase.o	${OBJDIR}/errlusrparser.o -# %.o : %.C -# 	$(CC) -c  $(CFLAGS) -o $@  $< -  mkdirs:  	mkdir -p ${OBJDIR}  	mkdir -p ${GENDIR}  | 

