ruby: get rid of the ioutil stuff since it isn't used anymore
authorNathan Binkert <nate@binkert.org>
Thu, 11 Mar 2010 00:22:26 +0000 (16:22 -0800)
committerNathan Binkert <nate@binkert.org>
Thu, 11 Mar 2010 00:22:26 +0000 (16:22 -0800)
src/mem/gems_common/SConscript
src/mem/gems_common/ioutil/FakeSimicsDataTypes.hh [deleted file]
src/mem/gems_common/ioutil/SConscript [deleted file]
src/mem/gems_common/ioutil/attrlex.ll [deleted file]
src/mem/gems_common/ioutil/attrparse.yy [deleted file]
src/mem/gems_common/ioutil/confio.cc [deleted file]
src/mem/gems_common/ioutil/confio.hh [deleted file]
src/mem/gems_common/ioutil/embedtext.py [deleted file]
src/mem/gems_common/ioutil/initvar.cc [deleted file]
src/mem/gems_common/ioutil/initvar.hh [deleted file]
src/mem/gems_common/ioutil/vardecl.hh [deleted file]

index 1f3032646fe9d74a38fda6c3a1bc955f7e4aee79..851aa412f63b944bdc5e0a40226259a0434aa786 100644 (file)
@@ -33,15 +33,6 @@ Import('*')
 if not env['RUBY']:
     Return()
 
-#benv['LEXCOM'] = "$LEX $LEXFLAGS -o$TARGET $SOURCES"
-benv = env.Clone()
-benv.Append(YACCFLAGS=["-pat"])
-benv.Append(LEXFLAGS=["-Pat"])
-benv.CXXFile('ioutil/attrlex.ll')
-benv.CXXFile('ioutil/attrparse.yy')
-
-Source('ioutil/attrlex.cc', Werror=False)
-Source('ioutil/attrparse.cc', Werror=False)
 Source('util.cc')
 
 TraceFlag('GemsCommon')
diff --git a/src/mem/gems_common/ioutil/FakeSimicsDataTypes.hh b/src/mem/gems_common/ioutil/FakeSimicsDataTypes.hh
deleted file mode 100644 (file)
index b6fcda9..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef FAKE_SIMICS_DATA_TYPES_H
-#define FAKE_SIMICS_DATA_TYPES_H
-
-typedef struct attr_value attr_value_t;
-
-typedef enum {
-  Sim_Val_Invalid = 0,
-  Sim_Val_String = 1,
-  Sim_Val_Integer = 2,
-  Sim_Val_Floating = 3,
-  Sim_Val_List = 4,
-  Sim_Val_Data = 5,
-  Sim_Val_Nil = 6,
-  Sim_Val_Object = 7
-} attr_kind_t;
-
-typedef struct attr_list attr_list_t;
-
-struct attr_list {
-  int size;
-  struct attr_value *vector;
-};
-
-struct attr_value {
-  attr_kind_t kind;
-  union {
-    const char *string; /* Sim_Val_String */
-    unsigned long long integer; /* Sim_Val_Integer */
-    double floating; /* Sim_Val_Floating */
-    void *object; /* Sim_Val_Object */
-    attr_list_t list; /* Sim_Val_List */
-  } u;
-};
-
-typedef enum {
-Sim_Set_Ok,
-Sim_Set_Need_Integer,
-Sim_Set_Need_Floating,
-Sim_Set_Need_String,
-Sim_Set_Need_List,
-Sim_Set_Need_Data,
-Sim_Set_Need_Object,
-Sim_Set_Object_Not_Found,
-Sim_Set_Interface_Not_Found,
-Sim_Set_Illegal_Value,
-Sim_Set_Illegal_Type,
-Sim_Set_Illegal_Index,
-Sim_Set_Attribute_Not_Found,
-Sim_Set_Not_Writable,
-Sim_Set_Ignored
-} set_error_t;
-
-
-typedef attr_value_t (*get_attr_t)(void *ptr,
-                                   void *obj,
-                                   attr_value_t *idx);
-
-typedef set_error_t (*set_attr_t)(void *ptr,
-                                  void *obj,
-                                  attr_value_t *val,
-                                  attr_value_t *idx);
-
-#endif // #ifndef FAKE_SIMICS_DATA_TYPES_H
diff --git a/src/mem/gems_common/ioutil/SConscript b/src/mem/gems_common/ioutil/SConscript
deleted file mode 100644 (file)
index ea605a3..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- mode:python -*-
-
-# Copyright (c) 2009 The Hewlett-Packard Development Company
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Authors: Nathan Binkert
-
-Import('*')
-
-if not env['RUBY']:
-    Return()
-
-Source('confio.cc')
diff --git a/src/mem/gems_common/ioutil/attrlex.ll b/src/mem/gems_common/ioutil/attrlex.ll
deleted file mode 100644 (file)
index d3a5b35..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-%option noyywrap
-
-ALPHADIGIT      [^\:\,\(\)\n\t\(\) \0\#]
-HEXDIGIT        [0-9a-fA-Fx]
-NEWLINE         [\n]
-WHITESPACE      [ \t]
-
-%{
-
-#include "mem/ruby/common/Global.hh"
-
-using namespace std;
-#include <string>
-#include <map>
-#include <stdlib.h>
-
-// Maurice
-// extern "C" {
-// #include "simics/api.hh"
-// };
-
-#include "mem/gems_common/ioutil/FakeSimicsDataTypes.hh"
-
-// CM: simics 1.6.5 API redefines fwrite, much to my chagrin
-#undef   fwrite
-#undef   printf
-#include "mem/gems_common/ioutil/attrparse.hh"
-
-#define MAX_INCLUDE_DEPTH 10
-
-/** global result of parsing file */
-extern attr_value_t g_attr_map;
-
-extern int  atparse(void);
-
-static int linenum=1;          /* the current line number */
-static int colnum=1;           /* the current column number */
-static YY_BUFFER_STATE  include_stack[MAX_INCLUDE_DEPTH];
-static int              include_stack_ptr = 0;
-static char             g_relative_include_path[256];
-
-
-// forward declaration of aterror
-void aterror(const char *msg);
-%}
-
-%x SLASHCOMMENT INCLUDE
-
-%%
-
-%{ /* PATTERNS FOR STRING TOKENS */
-%}
-
-"//".*[\n] { linenum++; colnum=1; }  /* C++ style comments */
-
-\#include                   { colnum+=yyleng; BEGIN(INCLUDE); }
-<INCLUDE>{WHITESPACE}*      { colnum+=yyleng; }
-<INCLUDE>[^ \t\n]+          {
-                    // should really be FILEIO_MAX_FILENAME or MAX_NAME
-                    char str[256];
-                    if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
-                      {
-                        ERROR_OUT( "Includes nested too deeply" );
-                        exit( 1 );
-                      }
-                    include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
-
-                    yyin = fopen( yytext, "r" );
-                    if ( ! yyin ) {
-                      sprintf( str, "%s%s", g_relative_include_path, yytext );
-                      yyin = fopen( str, "r" );
-                    }
-                    if ( ! yyin ) {
-                      sprintf( str, "%s%s%s", g_relative_include_path, "config/", yytext );
-                      yyin = fopen( str, "r" );
-                    }
-                    if ( ! yyin ) {
-                      ERROR_OUT("unable to open included file: %s or %s\n", yytext, str);
-                      aterror("file open error.\n");
-                    }
-                    yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ));
-                    BEGIN(INITIAL);
-                            }
-<<EOF>>                     {
-                      if ( --include_stack_ptr < 0 ) {
-                        yyterminate();
-                      } else {
-                        yy_delete_buffer( YY_CURRENT_BUFFER );
-                        fclose(yyin);
-                        yy_switch_to_buffer(include_stack[include_stack_ptr] );
-                      }
-                            }
-
-\(                          { colnum+=yyleng; return (LPAREN); }
-\)                          { colnum+=yyleng; return (RPAREN); }
-\:                          { colnum+=yyleng; return (':'); }
-\,                          { colnum+=yyleng; return (','); }
-{HEXDIGIT}+                 {
-                              colnum+=yyleng;
-                              attr_value_t *val = (attr_value_t *)
-                                       malloc( sizeof(attr_value_t) );
-                              memset( val, 0, sizeof(attr_value_t) );
-                              atlval.attrval = val;
-                              val->kind = Sim_Val_Integer;
-                              val->u.integer = strtoull( yytext, NULL, 0 );
-                              return (INTEGER); }
-{ALPHADIGIT}+               {
-                              colnum+=yyleng;
-                              attr_value_t *val = (attr_value_t *)
-                                       malloc( sizeof(attr_value_t) );
-                              memset( val, 0, sizeof(attr_value_t) );
-                              atlval.attrval = val;
-                              val->kind = Sim_Val_String;
-                              val->u.string = strdup(yytext);
-                              return (STRING); }
-
-%{ /* OTHER PATTERNS */
-%}
-
-{WHITESPACE}+               {colnum += yyleng;}
-{NEWLINE}                   {linenum++; colnum = 1;}
-
-%%
-
-extern "C" void parseInitialize( void )
-{
-  // since no global variables are set in simics, we must do it manually
-  // this is also necessary now that the parser can be used more than once.
-  // (it is used to parse the defaults, and can be used after that)
-  linenum = 1;
-  colnum = 1;
-  include_stack_ptr = 0;
-}
-
-extern "C" int parseAttrFile( FILE *inputFile, const char *relative_include_path, attr_value_t *myTable )
-{
-  parseInitialize();
-  strncpy( g_relative_include_path, relative_include_path, 255 );
-
-  int result;
-  yyin = inputFile;
-  YY_BUFFER_STATE scan_state = yy_create_buffer( yyin, YY_BUF_SIZE );
-  yy_switch_to_buffer( scan_state );
-  result = atparse();
-  *myTable = g_attr_map;
-  yy_delete_buffer( scan_state );
-  return (result);
-}
-
-extern "C" int parseAttrString( const char *str, attr_value_t *myTable )
-{
-  parseInitialize();
-
-  int result;
-  YY_BUFFER_STATE scan_state = yy_scan_string( str );
-  result = atparse();
-  *myTable = g_attr_map;
-  yy_delete_buffer( scan_state );
-  return (result);
-}
-
-extern void aterror(const char *msg)
-{
-  ERROR_OUT("%d:%d: ERROR while parsing config file%s\n", linenum, colnum, msg );
-}
-
diff --git a/src/mem/gems_common/ioutil/attrparse.yy b/src/mem/gems_common/ioutil/attrparse.yy
deleted file mode 100644 (file)
index 4301717..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-%{
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-#include "mem/ruby/common/Global.hh"
-
-using namespace std;
-#include <string>
-#include <map>
-#include <stdlib.h>
-
-// Maurice
-// extern "C" {
-// #include "simics/api.hh"
-// };
-
-#include "mem/gems_common/ioutil/FakeSimicsDataTypes.hh"
-
-#include "mem/gems_common/ioutil/confio.hh"
-
-// CM FIX: if I wasn't working on a paper: I'd re-write the grammer to
-//         be left (or right) recursive, which ever is more efficient
-//         This only affects extremely large cache sizes / BP sizes on read in.
-#define YYMAXDEPTH 100000
-
-extern char* attext;
-
-extern void aterror(const char *);
-extern int  atlex();
-attr_value_t    g_attr_map;
-
-extern  void fprintAttr( FILE *fp, attr_value_t attr );
-
-%}
-
-/*------------------------------------------------------------------------*/
-/* Union declarations                                                     */
-/*------------------------------------------------------------------------*/
-// The types of the tokens and nonterminals
-%union {
-  attr_value_t  *attrval;
-};
-
-%token <attrval> STRING INTEGER
-%token           MY_END LPAREN RPAREN
-
-%type  <attrval> confmapping confpair attributes attrlist
-%%
-
-conffile      : confmapping
-{
-  g_attr_map = *($1);
-  free( $1 )
-}
-
-confmapping   : confmapping confpair
-{
-  attr_value_t  *newattr = mallocAttribute(1);
-  newattr->kind          = Sim_Val_List;
-  if ( $1 == NULL ) {
-    newattr->u.list.size   = 1;
-    newattr->u.list.vector = $2;
-  } else {
-    // add the latest mapping to the return mapping
-    uint32         newsize = $1->u.list.size + 1;
-    attr_value_t  *vector  = mallocAttribute( newsize );
-    newattr->u.list.size   = newsize;
-    newattr->u.list.vector = vector;
-    for (uint32 i = 0; i < newsize - 1; i++) {
-      vector[i] = $1->u.list.vector[i];
-    }
-    vector[newsize - 1] = *($2);
-    free( $1->u.list.vector );
-    free( $1 );
-    free( $2 );
-  }
-  $$ = newattr;
-}
-                | // nothing
-{
-  $$ = NULL;
-}
-
-confpair       : STRING ':' attributes
-{
-  attr_value_t  *newattr = mallocAttribute(1);
-  newattr->kind          = Sim_Val_List;
-  newattr->u.list.size   = 2;
-  newattr->u.list.vector = mallocAttribute(2);
-  newattr->u.list.vector[0] = *($1);
-  newattr->u.list.vector[1] = *($3);
-  free( $1 );
-  free( $3 );
-  $$ = newattr;
-}
-
-attributes     : INTEGER
-{
-  $$ = $1;
-}
-                | STRING
-{
-  $$ = $1;
-}
-                | LPAREN attrlist RPAREN
-{
-  attr_value_t  *newattr = mallocAttribute(1);
-  newattr->kind          = Sim_Val_List;
-  if ( $2->kind != CONF_ATTR_SINGLE &&
-       $2->kind != CONF_ATTR_PAIR ) {
-    newattr->u.list.size   = 1;
-    newattr->u.list.vector = $2;
-  } else {
-    newattr->u.list.size   = $2->u.list.size;
-    newattr->u.list.vector = mallocAttribute(newattr->u.list.size);
-    attr_value_t  *curattr = $2;
-    uint32 i = 0;
-    while ( i < newattr->u.list.size ) {
-      if (curattr->kind == CONF_ATTR_SINGLE) {
-        newattr->u.list.vector[i] = curattr->u.list.vector[0];
-        i++;
-
-        curattr = NULL;
-      } else if (curattr->kind == CONF_ATTR_PAIR) {
-        newattr->u.list.vector[i] = curattr->u.list.vector[0];
-        i++;
-        if ( i < newattr->u.list.size )
-          curattr = &(curattr->u.list.vector[1]);
-        else
-          curattr = NULL;
-
-      } else {
-        ERROR_OUT("error: unknown kind in pair: %d\n", curattr->kind);
-        ASSERT(0);
-      }
-    }
-    // FIX memory leak: around 600 KB
-    // freeAttribute( $2 );  // with gcc-3.4 this free call tries to free memory from the stack
-  }
-  $$ = newattr;
-}
-
-attrlist        : attributes
-{
-  attr_value_t  *newattr = mallocAttribute(1);
-  newattr->kind          = CONF_ATTR_SINGLE;
-  newattr->u.list.size    = 1;
-  newattr->u.list.vector  = $1;
-  $$ = newattr;
-}
-                | attributes ',' attrlist
-{
-    // allocate the pair ( x , y ) attribute
-    attr_value_t  *newattr = mallocAttribute(1);
-    int            newsize = $3->u.list.size + 1;
-    attr_value_t  *vector  = mallocAttribute(2);
-    newattr->kind          = CONF_ATTR_PAIR;
-    newattr->u.list.size   = newsize;
-    newattr->u.list.vector = vector;
-
-    // assign the LH attribute
-    vector[0] = *($1);
-    vector[1] = *($3);
-    free( $1 );
-    free( $3 );
-    $$ = newattr;
-}
diff --git a/src/mem/gems_common/ioutil/confio.cc b/src/mem/gems_common/ioutil/confio.cc
deleted file mode 100644 (file)
index a701473..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * saves configuration information for later runs
- */
-
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-#include "mem/ruby/common/Global.hh"
-#define SIM_HALT   ASSERT(0)
-
-using namespace std;
-#include <string>
-#include <map>
-#include <stdlib.h>
-
-// Maurice
-// extern "C" {
-// #include "global.hh"
-// #include "simics/api.hh"
-//
-// #ifdef SIMICS22X
-// #include "sparc_api.hh"
-// #endif
-// #ifdef SIMICS30
-// #ifdef SPARC
-//   #include "sparc.hh"
-// #else
-//   #include "x86.hh"
-// #endif
-// #endif
-// };
-
-#include "mem/gems_common/ioutil/confio.hh"
-
-/*------------------------------------------------------------------------*/
-/* Macro declarations                                                     */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Variable declarations                                                  */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Forward declarations                                                   */
-/*------------------------------------------------------------------------*/
-
-// C++ Template: explicit instantiation
-template class map<string, confnode_t *>;
-
-// These functions are defined in parser/attrlex.l
-extern "C" int parseAttrFile( FILE *inputFile, const char *relative_include_path, attr_value_t *myTable );
-extern "C" int parseAttrString( const char *str, attr_value_t *myTable );
-
-/*------------------------------------------------------------------------*/
-/* Constructor(s) / destructor                                            */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-confio_t::confio_t( )
-{
-  m_verbose = false;
-}
-
-//**************************************************************************
-confio_t::~confio_t( )
-{
-  ConfTable::iterator iter;
-
-  for ( iter = m_table.begin(); iter != m_table.end(); iter++ ) {
-    confnode_t *cfnode = (*iter).second;
-    free( cfnode );
-  }
-}
-
-/*------------------------------------------------------------------------*/
-/* Public methods                                                         */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Accessor(s) / mutator(s)                                               */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-int confio_t::register_attribute( const char *name,
-                                  get_confio_t get_attr, void *get_attr_data,
-                                  set_confio_t set_attr, void *set_attr_data )
-{
-  confnode_t *newnode;
-  if ( m_table.find(name) == m_table.end() ) {
-    if (m_verbose)
-      DEBUG_OUT("  registering checkpoint attribute: \"%s\"\n", name);
-
-    // add a new entry to the table
-    newnode = (confnode_t *) malloc( sizeof( confnode_t ) );
-    newnode->get_attr = get_attr;
-    newnode->set_attr = set_attr;
-    newnode->set_attr_data = set_attr_data;
-    newnode->get_attr_data = get_attr_data;
-    newnode->attr_is_set = false;
-    string key(name);
-    m_table[key] = newnode;
-  } else {
-    ERROR_OUT("  warning: confio: adding existing conf node: %s\n", name);
-  }
-  return 0;
-}
-
-//**************************************************************************
-void fprintAttr( FILE *fp, attr_value_t attr )
-{
-  switch (attr.kind) {
-  case Sim_Val_Invalid:
-    fprintf(fp, "invalid");
-    break;
-
-  case Sim_Val_String:
-    fprintf(fp, "%s", attr.u.string);
-    break;
-
-  case Sim_Val_Integer:
-    fprintf(fp, "0x%llx", attr.u.integer);
-    break;
-
-  case Sim_Val_Floating:
-    fprintf(fp, "0x%llx", attr.u.integer);
-    break;
-
-  case Sim_Val_List:
-    fprintf(fp, "(");
-    for (int i = 0; i < attr.u.list.size; i++) {
-      fprintAttr(fp, attr.u.list.vector[i]);
-      if (i != attr.u.list.size -1) {
-        fprintf(fp, ", ");
-      }
-    }
-    fprintf(fp, ")");
-    break;
-
-  default:
-    ERROR_OUT("fprintAttr: unknown/unimplemented attribute %d\n", attr.kind);
-  }
-}
-
-//**************************************************************************
-void freeAttribute( attr_value_t *attr )
-{
-  switch (attr->kind) {
-  case Sim_Val_Invalid:
-    break;
-
-  case Sim_Val_String:
-    free( (char *) attr->u.string );
-    break;
-
-  case Sim_Val_Integer:
-    break;
-
-  case Sim_Val_Floating:
-    break;
-
-  case Sim_Val_List:
-    for (int i = 0; i < attr->u.list.size; i++) {
-      freeAttribute( &(attr->u.list.vector[i]) );
-    }
-    free( attr->u.list.vector );
-    break;
-
-  default:
-    ERROR_OUT("freeAttr: unknown/unimplemented attribute %d\n", attr->kind);
-  }
-}
-
-/**
- * Allocates, and initializes a attribute value.
- * @param number The number of values to allocate.
- * @return       A pointer to the newly allocated structure.
- */
-//**************************************************************************
-attr_value_t *mallocAttribute( uint32 number )
-{
-  attr_value_t *newattr = (attr_value_t *) malloc( number *
-                                                   sizeof(attr_value_t) );
-  if ( newattr == NULL ) {
-    ERROR_OUT( "confio: mallocAttribute: out of memory\n" );
-    exit(1);
-  }
-  memset( newattr, 0, number*sizeof(attr_value_t) );
-  return (newattr);
-}
-
-
-//**************************************************************************
-void fprintMap( FILE *fp, attr_value_t attr )
-{
-  attr_value_t  name;
-  attr_value_t  value;
-
-  if (attr.kind != Sim_Val_List)
-    return;
-
-  for (int i = 0; i < attr.u.list.size; i++) {
-
-    if (attr.u.list.vector[i].kind != Sim_Val_List ||
-        attr.u.list.vector[i].u.list.size != 2)
-      return;
-
-    name  = attr.u.list.vector[i].u.list.vector[0];
-    value = attr.u.list.vector[i].u.list.vector[1];
-    fprintf( fp, "      %s: ", name.u.string);
-    fprintAttr( fp, value );
-    fprintf( fp, "\n");
-  }
-}
-
-/**
- * write a configuration file: e.g. save state
- */
-//**************************************************************************
-int confio_t::writeConfiguration( const char *outputFilename )
-{
-  FILE               *fp;
-  ConfTable::iterator iter;
-  confnode_t         *cfnode;
-  attr_value_t        attr;
-
-  memset( &attr, 0, sizeof(attr_value_t) );
-  if ( outputFilename == NULL ) {
-    fp = stdout;
-  } else {
-    fp = fopen( outputFilename, "w" );
-    if ( fp == NULL ) {
-      ERROR_OUT("error: writeConfiguration: unable to open file %s\n",
-                outputFilename );
-      return (-1);
-    }
-  }
-
-  for (iter = m_table.begin(); iter != m_table.end(); iter++) {
-    fprintf( fp, "      %s: ", (*iter).first.c_str() );
-    cfnode = (*iter).second;
-    attr   = (*(cfnode->get_attr))( cfnode->get_attr_data, NULL );
-    fprintAttr( fp, attr );
-    fprintf(fp, "\n");
-  }
-
-  if ( outputFilename != NULL ) {
-    // wrote to a file: now close it!
-    fclose( fp );
-  }
-  return 0;
-}
-
-/**
- * read state from an existing configuration file
- */
-//**************************************************************************
-int confio_t::readConfiguration( const char *inputFilename,
-                                 const char *relativeIncludePath )
-{
-  // parse the input stream
-  FILE               *fp;
-  char                relativeFilename[256];
-
-  fp = fopen( inputFilename, "r" );
-  if ( fp == NULL ) {
-    sprintf( relativeFilename, "%s%s", relativeIncludePath, inputFilename );
-    fp = fopen( relativeFilename, "r" );
-  }
-  if ( fp == NULL ) {
-    sprintf( relativeFilename, "%s%s%s", relativeIncludePath, "config/",
-             inputFilename );
-    fp = fopen( relativeFilename, "r" );
-  }
-  if ( fp == NULL ) {
-    ERROR_OUT("error: readConfiguration: unable to open file %s or %s\n",
-              inputFilename, relativeFilename);
-    return (-1);
-  }
-
-  attr_value_t *myattr = mallocAttribute(1);
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() parsing conf file\n");
-#endif
-  int rc = parseAttrFile( fp, relativeIncludePath, myattr );
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() parse completed\n");
-#endif
-  if ( rc == 0 ) {
-    applyConfiguration( myattr );
-    freeAttribute( myattr );
-    free(myattr);
-  }
-
-  fclose( fp );
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() completed\n");
-#endif
-  return (rc);
-}
-
-/**
- * read state from a configuration string
- */
-//**************************************************************************
-int confio_t::readConfigurationString( const char *inputBuffer )
-{
-  if ( inputBuffer == NULL ) {
-    ERROR_OUT( "error: readConfiguration: NULL inputBuffer\n" );
-    return (-1);
-  }
-
-  attr_value_t *myattr = mallocAttribute(1);
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() parsing conf string\n");
-#endif
-
-  int rc = parseAttrString( inputBuffer, myattr );
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() parse completed\n");
-#endif
-  if ( rc == 0 ) {
-    applyConfiguration( myattr );
-    freeAttribute( myattr );
-    free(myattr);
-  }
-  return (rc);
-}
-
-//**************************************************************************
-void confio_t::checkInitialization( void )
-{
-  ConfTable::iterator iter;
-  confnode_t         *cfnode;
-
-  for (iter = m_table.begin(); iter != m_table.end(); iter++) {
-    cfnode = (*iter).second;
-    if ( !cfnode->attr_is_set ) {
-      DEBUG_OUT("    warning: %s is not set in configuration file.\n", (*iter).first.c_str() );
-    }
-  }
-}
-
-/*------------------------------------------------------------------------*/
-/* Private methods                                                        */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-int confio_t::applyConfiguration( attr_value_t *attr )
-{
-  confnode_t         *cfnode;
-  attr_value_t        name;
-  attr_value_t        value;
-  set_error_t         seterr;
-
-#ifdef MODINIT_VERBOSE
-  DEBUG_OUT("confio_t() data in memory\n");
-  fprintMap( stdout, *attr );
-#endif
-
-  // apply the configuration the the m_table
-  if (attr->kind != Sim_Val_List ||
-      attr->u.list.size <= 0) {
-    ERROR_OUT("readconfiguration: internal error #1\n");
-    return -1;
-  }
-
-  for (int i = 0; i < attr->u.list.size; i++) {
-
-    if (attr->u.list.vector[i].kind != Sim_Val_List ||
-        attr->u.list.vector[i].u.list.size != 2) {
-      ERROR_OUT("readconfiguration: illegal configuration kind:%d size:%lld\n",
-                attr->u.list.vector[i].kind,
-                attr->u.list.vector[i].u.list.size);
-      continue;
-    }
-
-    name   = attr->u.list.vector[i].u.list.vector[0];
-    value  = attr->u.list.vector[i].u.list.vector[1];
-    string newstr((char *) name.u.string);
-    if ( m_table.find(newstr) != m_table.end()) {
-
-      // set the value found in the configuration
-      cfnode = m_table[newstr];
-      seterr = (*cfnode->set_attr)( cfnode->set_attr_data, NULL,
-                                    &(value) );
-      if ( seterr == Sim_Set_Ok ) {
-        cfnode->attr_is_set = true;
-        if (m_verbose)
-          DEBUG_OUT("configuration set for: %s\n", name.u.string);
-      } else {
-        ERROR_OUT("error: \"%s\" unable to set value: %d\n",
-                  name.u.string, (int) seterr);
-      }
-    } else {
-      ERROR_OUT("error: \"%s\" not found. unable to set value.\n",
-                name.u.string);
-    }
-  }
-  return 0;
-}
-
-/*------------------------------------------------------------------------*/
-/* Static methods                                                         */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Global functions                                                       */
-/*------------------------------------------------------------------------*/
-
-
-/** [Memo].
- *  [Internal Documentation]
- */
-//**************************************************************************
-
diff --git a/src/mem/gems_common/ioutil/confio.hh b/src/mem/gems_common/ioutil/confio.hh
deleted file mode 100644 (file)
index 1e9718c..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _CONFIO_H_
-#define _CONFIO_H_
-
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-#include "mem/gems_common/ioutil/FakeSimicsDataTypes.hh"
-
-/*------------------------------------------------------------------------*/
-/* Macro declarations                                                     */
-/*------------------------------------------------------------------------*/
-
-/// constant for attribute parsing: a (x) single value
-const  attr_kind_t   CONF_ATTR_SINGLE = (attr_kind_t) (Sim_Val_Object + 1);
-/// constant for attribute parsing: a (x,y) pair of values
-const  attr_kind_t   CONF_ATTR_PAIR   = (attr_kind_t) (Sim_Val_Object + 2);
-
-/*------------------------------------------------------------------------*/
-/* Class declaration(s)                                                   */
-/*------------------------------------------------------------------------*/
-
-/*
- *  Functions for modifying the micro-architectural configuation of
- *  a class.
- */
-
-/// function for getting the configuration value
-typedef  attr_value_t (*get_confio_t)( void *ptr, void *obj );
-/// function for setting the configuration value
-typedef  set_error_t  (*set_confio_t)( void *ptr, void *obj,
-                                       attr_value_t *value );
-
-/// a struture containing the functional callbacks for each conf node
-typedef struct confnode {
-  get_confio_t get_attr;
-  set_confio_t set_attr;
-  void        *set_attr_data;
-  void        *get_attr_data;
-  bool         attr_is_set;
-} confnode_t;
-
-/// a mapping from a string to a configuration structure
-typedef map<string, confnode_t *> ConfTable;
-
-/**
-* Configuration state saving: allows the user to save the micro-architectural
-* state in a text file for later runs. This file is also used to set
-* globals during simulation.
-*
-* @author  cmauer
-* @version $Id$
-*/
-class confio_t {
-
-public:
-
-
-  /**
-   * @name Constructor(s) / destructor
-   */
-  //@{
-
-  /**
-   * Constructor: creates object
-   */
-  confio_t();
-
-  /**
-   * Destructor: frees object.
-   */
-  ~confio_t();
-  //@}
-
-  /**
-   * @name Methods
-   */
-  //@{
-  //@}
-
-  /**
-   * @name Accessor(s) / mutator(s)
-   */
-  //@{
-  /**
-   * register a configuration variable with the configuration manager.
-   * @param get_attr   A function to get the attribute value
-   * @param get_attr_data Void pointer, available to get_attr
-   * @param set_attr   A function to set the attribute value
-   * @param set_attr_data Void pointer, available to set_attr
-   * @return [Description of return value]
-   */
-  int  register_attribute( const char *name,
-                           get_confio_t get_attr, void *get_attr_data,
-                           set_confio_t set_attr, void *set_attr_data );
-
-  /**
-   * Set verbosity of the configuration
-   * @param verbose     True causes more info to be printed out, False doesn't
-   */
-  void setVerbosity( bool verbose ) {
-    m_verbose = verbose;
-  }
-
-  /**
-   * write a configuration file: e.g. save state
-   */
-  int  writeConfiguration( const char *outputFilename );
-
-  /**
-   * read state from an existing configuration file
-   * @param inputFilename          The file to read
-   * @param relativeIncludePath    The path to search on 'include' statements
-   */
-  int  readConfiguration( const char *inputFilename,
-                          const char *relativeIncludePath );
-
-  /**
-   * read state from a string
-   */
-  int  readConfigurationString( const char *inputBuffer );
-
-  /**
-   * check that each registered configuration is set (reports a warning if
-   * they are not.)
-   */
-  void checkInitialization( void );
-  //@}
-
-private:
-  /**
-   * Apply an attribute list to the configuration table
-   */
-  int  applyConfiguration( attr_value_t *attr );
-
-  /// configuration table: contains a map from a string -> conf node
-  ConfTable     m_table;
-
-  /// if false, nothing is printed under normal operation
-  bool          m_verbose;
-};
-
-/*------------------------------------------------------------------------*/
-/* Global variables                                                       */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Global functions                                                       */
-/*------------------------------------------------------------------------*/
-
-/**
- * Allocates an array of attributes.
- */
-attr_value_t *mallocAttribute( uint32 number );
-
-/**
- * Walks an attribute tree, freeing all memory under attr. Does not free
- * attr itself.
- */
-void          freeAttribute( attr_value_t *attr );
-
-#endif  /* _CONFIO_H_ */
-
-
diff --git a/src/mem/gems_common/ioutil/embedtext.py b/src/mem/gems_common/ioutil/embedtext.py
deleted file mode 100644 (file)
index 64e1c97..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-
-import sys
-
-#---------------------------------------------------------------------------
-
-class embedText:
-    """
-    embedText converts a text file into a file that can be embedded in C
-    using an #include statement, that defines a \"const char *\" pointing
-    to the same text.
-
-    This is useful to embed scripts and configuration files in object files.
-    """
-    def __init__(self, filename):
-        self.filename = filename
-        self.escape        = [ "\'", "\"", "\\", "\?" ]
-
-    def write(self, outputfile, varname):
-        # reads the text file in, line by line, converting it to a C string
-        fin = open( self.filename, 'r' )
-        fout= open( outputfile, 'w' )
-        fout.write("static const char *%s =\n" % varname);
-        l = " "
-        while l != "":
-            l = fin.readline()
-
-            # add escape sequences for the characters in escape
-            fout.write("\"")
-            for char in l:
-                if char == "\n":
-                    break
-                if char in self.escape:
-                    fout.write( "\\" )
-                    fout.write( char )
-                else:
-                    fout.write( char )
-            fout.write("\\n\"\n");
-        fout.write(";\n");
-        fin.close()
-        fout.close()
-
-#---------------------------------------------------------------------------
-
-if __name__ == "__main__":
-    if len(sys.argv) != 4:
-        print len(sys.argv)
-        print "usage:", sys.argv[0], " input-file output-file varname"
-        sys.exit(1)
-    inputfile = sys.argv[1]
-    outputfile = sys.argv[2]
-    varname   = sys.argv[3]
-    print "generating embedded text file: %s from %s\n" % (outputfile, inputfile)
-    inc = embedText( inputfile )
-    inc.write( outputfile, varname )
diff --git a/src/mem/gems_common/ioutil/initvar.cc b/src/mem/gems_common/ioutil/initvar.cc
deleted file mode 100644 (file)
index 4388c0d..0000000
+++ /dev/null
@@ -1,585 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
-   This file has been modified by Kevin Moore and Dan Nussbaum of the
-   Scalable Systems Research Group at Sun Microsystems Laboratories
-   (http://research.sun.com/scalable/) to support the Adaptive
-   Transactional Memory Test Platform (ATMTP).
-
-   Please send email to atmtp-interest@sun.com with feedback, questions, or
-   to request future announcements about ATMTP.
-
-   ----------------------------------------------------------------------
-
-   File modification date: 2008-02-23
-
-   ----------------------------------------------------------------------
-*/
-
-/*
- * FileName:  initvar.C
- * Synopsis:  implementation of global variable initialization in simics
- * Author:    cmauer
- * Version:   $Id$
- */
-
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-using namespace std;
-#include <string>
-#include <map>
-#include <stdlib.h>
-
-// Maurice
-// extern "C" {
-// #include "global.hh"
-// #include "simics/api.hh"
-// #ifdef SIMICS22X
-// #include "configuration_api.hh"
-// #endif
-// #ifdef SIMICS30
-// #include "configuration.hh"
-// #endif
-// };
-
-#include "mem/ruby/common/Global.hh"
-
-#include "mem/gems_common/ioutil/confio.hh"
-#include "mem/gems_common/ioutil/initvar.hh"
-
-/*------------------------------------------------------------------------*/
-/* Variable declarations                                                  */
-/*------------------------------------------------------------------------*/
-
-// define global "constants" using centralized file
-#define PARAM( NAME ) \
-   int32  NAME;
-#define PARAM_UINT( NAME ) \
-   uint32 NAME;
-#define PARAM_ULONG( NAME ) \
-   uint64 NAME;
-#define PARAM_BOOL( NAME ) \
-   bool   NAME;
-#define PARAM_DOUBLE( NAME ) \
-   double NAME;
-#define PARAM_STRING( NAME ) \
-   char  *NAME;
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE ) \
-   PTYPE  NAME[ARRAY_SIZE];
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-
-/** global initvar object */
-initvar_t  *initvar_t::m_inst = NULL;
-
-/*------------------------------------------------------------------------*/
-/* Forward declarations                                                   */
-/*------------------------------------------------------------------------*/
-
-static attr_value_t initvar_get_attr( void *ptr, void *obj );
-static set_error_t  initvar_set_attr( void *ptr, void *obj,
-                                      attr_value_t *value );
-
-/*------------------------------------------------------------------------*/
-/* Constructor(s) / destructor                                            */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-initvar_t::initvar_t( const char *name, const char *relativeIncludePath,
-                      const char *initializingString,
-                      void (*allocate_fn)(void),
-                      void (*my_generate_fn)(void) )
-{
-  m_is_init           = false;
-  m_name              = (char *) malloc( sizeof(char)*(strlen( name ) + 2) );
-  m_rel_include_path  = (char *) malloc( sizeof(char)*(strlen( relativeIncludePath ) + 2) );
-  m_config_filename   = NULL;
-  strcpy( m_name, name );
-  strcpy( m_rel_include_path, relativeIncludePath );
-  m_allocate_f        = allocate_fn;
-  m_generate_values_f = my_generate_fn;
-
-  initvar_t::m_inst = this;
-  init_config_reader( initializingString );
-}
-
-//**************************************************************************
-initvar_t::~initvar_t( )
-{
-#define PARAM( NAME )
-#define PARAM_UINT( NAME )
-#define PARAM_ULONG( NAME )
-#define PARAM_BOOL( NAME )
-#define PARAM_DOUBLE( NAME )
-#define PARAM_STRING( NAME ) \
-   if (NAME != NULL) {       \
-      free( NAME );          \
-      NAME = NULL;           \
-   }
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE )
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-  if (m_name) {
-    free( m_name );
-  }
-  if (m_rel_include_path) {
-    free( m_rel_include_path );
-  }
-  if (m_config_reader) {
-    delete m_config_reader;
-  }
-  if (m_config_filename) {
-    delete m_config_filename;
-  }
-}
-
-//**************************************************************************
-void initvar_t::init_config_reader( const char *initString )
-{
-  int         rc;
-  const char *name;
-
-  m_config_reader = new confio_t();
-  m_config_reader->setVerbosity( false );
-
-  // Initialize the config reader object to identify each parameter
-#define PARAM_UINT   PARAM
-#define PARAM_ULONG  PARAM
-#define PARAM_BOOL   PARAM
-#define PARAM_DOUBLE PARAM
-#define PARAM( NAME )                                         \
-  name = #NAME;                                               \
-  rc = m_config_reader->register_attribute( name,             \
-                                     initvar_get_attr, (void *) name,   \
-                                     initvar_set_attr, (void *) name );
-#define PARAM_STRING( NAME )                                  \
-  NAME = NULL;                                                \
-  name = #NAME;                                               \
-  rc = m_config_reader->register_attribute( name,             \
-                                     initvar_get_attr, (void *) name,   \
-                                     initvar_set_attr, (void *) name );
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE )                \
-  name = #NAME;                                               \
-  rc = m_config_reader->register_attribute( name,             \
-                                     initvar_get_attr, (void *) name,   \
-                                     initvar_set_attr, (void *) name );
-
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-
-  // read the default configuration from the embedded text file
-  rc = m_config_reader->readConfigurationString( initString );
-  (*m_generate_values_f)();
-}
-
-/*------------------------------------------------------------------------*/
-/* Public methods                                                         */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-void initvar_t::allocate( void )
-{
-  if ( confirm_init() ) {
-    DEBUG_OUT("error: %s initvar::allocate() called twice\n", m_name);
-    return;
-  }
-
-  (*m_generate_values_f)();
-  (*m_allocate_f)();
-  m_is_init = true;
-}
-
-//**************************************************************************
-void initvar_t::checkInitialization( void )
-{
-  m_config_reader->checkInitialization();
-}
-
-//**************************************************************************
-int initvar_t::dispatch_get( void *id, void *obj,
-                                      attr_value_t *idx )
-{
-  const char *command = (const char *) id;
-  if ( !confirm_init() ) {
-    DEBUG_OUT("error: %s is uninitialized. unable to get \'%s\'\n", m_name, command);
-    DEBUG_OUT("     : you must initialize %s with a configuration file first.\n", m_name);
-    DEBUG_OUT("     : use the command \'%s0.init\'\n", m_name);
-
-    return 0;
-  }
-
-  std::cerr << __FILE__ << "(" << __LINE__ << "): Not implmented." << std::endl;
-  return 0;
-}
-
-
-//**************************************************************************
-set_error_t initvar_t::dispatch_set( void *id, void *obj,
-                                     attr_value_t *val, attr_value_t *idx )
-{
-  const char *command = (const char *) id;
-
-  // DEBUG_OUT("set attribute: %s\n", command);
-  if (!strcmp(command, "init")) {
-    if (val->kind == Sim_Val_String) {
-      if (!strcmp( val->u.string, "" )) {
-        //       update generated values, then allocate
-        allocate();
-      } else {
-        read_config( val->u.string );
-        allocate();
-      }
-      return Sim_Set_Ok;
-    } else {
-      return Sim_Set_Need_String;
-    }
-  } else if (!strcmp(command, "readparam")) {
-    if (val->kind == Sim_Val_String) {
-      read_config( val->u.string );
-      return Sim_Set_Ok;
-    } else {
-      return Sim_Set_Need_String;
-    }
-  } else if (!strcmp(command, "saveparam")) {
-    if (val->kind == Sim_Val_String) {
-      FILE *fp = fopen( val->u.string, "w" );
-      if (fp == NULL) {
-        ERROR_OUT("error: unable to open file: %s\n", val->u.string);
-        return Sim_Set_Illegal_Value;
-      }
-      list_param( fp );
-      if (fp != NULL) {
-        fclose( fp );
-      }
-      return Sim_Set_Ok;
-    } else {
-      ERROR_OUT("error: saveparam given wrong type.\n");
-      return Sim_Set_Illegal_Value;
-    }
-  } else if (!strcmp(command, "param")) {
-    if (val->kind == Sim_Val_Integer) {
-      list_param( stdout );
-      return Sim_Set_Ok;
-    } else if ( val->kind == Sim_Val_List &&
-                val->u.list.size == 2 &&
-                val->u.list.vector[0].kind == Sim_Val_String ) {
-      return (set_param( val->u.list.vector[0].u.string,
-                         &val->u.list.vector[1] ));
-    } else {
-      DEBUG_OUT("error: set parameter given wrong type.\n");
-      return Sim_Set_Illegal_Value;
-    }
-  }
-
-  if ( !confirm_init() ) {
-    DEBUG_OUT("error: %s is uninitialized. unable to set \'%s\'\n", m_name, id);
-    DEBUG_OUT("     : you must initialize %s with a configuration file first.\n", m_name);
-    DEBUG_OUT("     : use the command \'%s0.init\'\n", m_name);
-    return Sim_Set_Illegal_Value;
-  }
-
-
-  std::cerr << __FILE__ << "(" << __LINE__ << "): Not implmented." << std::endl;
-  return Sim_Set_Illegal_Value;
-}
-
-/*------------------------------------------------------------------------*/
-/* Accessor(s) / mutator(s)                                               */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Private methods                                                        */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Static methods                                                         */
-/*------------------------------------------------------------------------*/
-
-//**************************************************************************
-static attr_value_t initvar_get_attr( void *ptr, void *obj )
-{
-  const char *name = (const char *) ptr;
-  attr_value_t  ret;
-  memset( &ret, 0, sizeof(attr_value_t) );
-
-#define PARAM_UINT   PARAM
-#define PARAM_ULONG  PARAM
-#define PARAM_BOOL   PARAM
-#define PARAM( NAME )                       \
-  if (!strcmp(name, #NAME)) {               \
-    ret.kind = Sim_Val_Integer;             \
-    ret.u.integer = NAME;                   \
-    return (ret);                           \
-  }
-#define PARAM_DOUBLE( NAME )                \
-  if (!strcmp(name, #NAME)) {               \
-    ret.kind = Sim_Val_Floating;            \
-    ret.u.floating = NAME;                  \
-    return (ret);                           \
-  }
-#define PARAM_STRING( NAME )                \
-  if (!strcmp(name, #NAME)) {               \
-    ret.kind = Sim_Val_String;              \
-    ret.u.string = NAME;                    \
-    return (ret);                           \
-  }
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE )            \
-  if (!strcmp(name, #NAME)) {                             \
-    ret.kind = Sim_Val_List;                                  \
-    ret.u.list.size = ARRAY_SIZE;                         \
-    ret.u.list.vector = mallocAttribute( ARRAY_SIZE );    \
-    for (int i = 0; i < ARRAY_SIZE; i++) {                \
-      ret.u.list.vector[i].u.integer = NAME[i];           \
-    }                                                     \
-    return (ret);                                         \
-  }
-
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-
-  DEBUG_OUT("error: %s not found.\n", name);
-  ret.kind = Sim_Val_Invalid;
-  return (ret);
-}
-
-//***************************************************************************
-static set_error_t initvar_set_attr( void *ptr, void *obj,
-                                     attr_value_t *value )
-{
-  const char *name = (const char *) ptr;
-
-#define PARAM_UINT   PARAM
-#define PARAM_ULONG  PARAM
-#define PARAM( NAME )                           \
-  if (!strcmp(name, #NAME)) {                   \
-    if ( value->kind != Sim_Val_Integer ) {     \
-      ERROR_OUT("error: %s is not an integer\n", name );\
-      return Sim_Set_Need_Integer;              \
-    }                                           \
-    NAME = value->u.integer;                    \
-    return Sim_Set_Ok;                          \
-  }
-#define PARAM_BOOL( NAME )                     \
-  if (!strcmp(name, #NAME)) {                  \
-    if ( value->kind != Sim_Val_String ) {     \
-      ERROR_OUT("error: %s is not an bool string\n", name );\
-      return Sim_Set_Need_String;              \
-    }                                          \
-    if (!strcmp(value->u.string, "true")) {    \
-      NAME = true;                             \
-    } else if (!strcmp(value->u.string, "false")) { \
-      NAME = false;                            \
-    } else {                                   \
-      ERROR_OUT("error: value %s for %s is not an bool string (set to false)\n", value->u.string, name );\
-      NAME = false;                            \
-    }                                          \
-    return Sim_Set_Ok;                         \
-  }
-#define PARAM_DOUBLE( NAME )                     \
-  if (!strcmp(name, #NAME)) {                    \
-    if ( value->kind != Sim_Val_String ) {     \
-      ERROR_OUT("error: %s is not a float\n", name );\
-      return Sim_Set_Need_Floating;              \
-    }                                            \
-    NAME = atof( value->u.string );              \
-    return Sim_Set_Ok;                           \
-  }
-#define PARAM_STRING( NAME )                    \
-  if (!strcmp(name, #NAME)) {                   \
-    if ( value->kind != Sim_Val_String ) {      \
-      ERROR_OUT("error: %s is not an string\n", name ); \
-      return Sim_Set_Need_String;               \
-    }                                           \
-    if (NAME != NULL) {                         \
-      free( NAME );                             \
-    }                                           \
-    NAME = strdup( value->u.string );           \
-    return Sim_Set_Ok;                          \
-  }
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE )            \
-  if (!strcmp(name, #NAME)) {                             \
-    if ( value->kind != Sim_Val_List ) {                      \
-      ERROR_OUT("error: %s is not an list\n", name );     \
-      return Sim_Set_Need_List;                               \
-    }                                                     \
-    if ( value->u.list.size != ARRAY_SIZE ) {             \
-      ERROR_OUT("error: %s has %lld elements (should be %d)\n", name, value->u.list.size, ARRAY_SIZE); \
-      return Sim_Set_Illegal_Value;                           \
-    }                                                     \
-    for (int i = 0; i < ARRAY_SIZE; i++) {                \
-      NAME[i] = value->u.list.vector[i].u.integer;        \
-    }                                                     \
-    return Sim_Set_Ok;                                        \
-  }
-
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-
-  ERROR_OUT("error: %s not a parameter\n", name);
-  return Sim_Set_Illegal_Value;
-}
-
-//***************************************************************************
-void initvar_t::read_config( const char *parameterFile )
-{
-  DEBUG_OUT("read configuration: %s\n", parameterFile );
-  m_config_filename = strdup( parameterFile );
-  int rc = m_config_reader->readConfiguration( parameterFile,
-                                               m_rel_include_path );
-  if ( rc < 0 ) {
-    ERROR_OUT("fatal error in read configuration: unable to continue.\n");
-    exit(1);
-  }
-  // update generated values
-  (*m_generate_values_f)();
-}
-
-/** sets one of the parameters */
-//**************************************************************************
-set_error_t initvar_t::set_param( const char *name, attr_value_t *value )
-{
-
-  // [dann 2007-04-04] ATMTP VV
-  //
-  // HACK ALERT: allow setting REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH,
-  // PROFILE_EXCEPTIONS, PROFILE_XACT, ATMTP_DEBUG_LEVEL and
-  // ATMTP_ENABLED after initialization.  This works is because ruby's
-  // m_generate_values_f() does nothing -- more particularly, nothing
-  // that depends on any of these parameters is pre-calculated
-  // anywhere.
-  //
-  if (strcmp(name, "REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH") != 0 &&
-      strcmp(name, "PROFILE_EXCEPTIONS") != 0 &&
-      strcmp(name, "PROFILE_XACT") != 0 &&
-      strcmp(name, "ATMTP_DEBUG_LEVEL") != 0 &&
-      strcmp(name, "ATMTP_ENABLED") != 0) {
-    //
-    // [dann 2007-04-04] ATMTP ^^
-    if ( confirm_init() ) {
-      DEBUG_OUT("error: %s is already initialized.\n", m_name);
-      DEBUG_OUT("     : setting parameters after initialization is unsupported\n");
-      return (Sim_Set_Illegal_Value);
-    }
-    // [dann 2007-04-04] ATMTP VV
-    //
-  }
-  //
-  // [dann 2007-04-04] ATMTP ^^
-
-  set_error_t result = initvar_set_attr( (void *) name, NULL, value );
-  (*m_generate_values_f)();
-  return (result);
-}
-
-/** print out a list of valid parameters */
-//**************************************************************************
-void initvar_t::list_param( FILE *fp )
-{
-    if (!fp)
-        fp = stdout;
-
-#define PARAM( NAME )                            \
-  fprintf( fp, "%-44.44s: %26d\n", #NAME, NAME );
-#define PARAM_UINT( NAME )                              \
-  fprintf( fp, "%-44.44s: %26u\n", #NAME, NAME );
-#define PARAM_ULONG( NAME )                             \
-  fprintf( fp, "%-44.44s: %26llu\n", #NAME, (unsigned long long)NAME );
-#define PARAM_BOOL( NAME )                              \
-  if (NAME == true) {                                 \
-    fprintf( fp, "%-44.44s: %26.26s\n", #NAME, "true" ); \
-  } else {                                            \
-    fprintf( fp, "%-44.44s: %26.26s\n", #NAME, "false" );\
-  }
-#define PARAM_DOUBLE( NAME )                            \
-  fprintf( fp, "%-44.44s: %26f\n", #NAME, NAME );
-#define PARAM_STRING( NAME )                              \
-  if ( NAME != NULL ) {                                   \
-    fprintf( fp, "%-44.44s: %26.26s\n", #NAME, NAME );  \
-  }
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE )          \
-  fprintf( fp, "%-44.44s: (", #NAME );                \
-  for (int i = 0; i < ARRAY_SIZE; i++) {                \
-    if ( i != 0 ) {                                     \
-      fprintf( fp, ", " );                            \
-    }                                                   \
-    fprintf( fp, "%d", NAME[i] );                     \
-  }                                                     \
-  fprintf( fp, ")\n" );
-
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-}
-
-//**************************************************************************
-const char *initvar_t::get_config_name( void )
-{
-  if (m_config_filename == NULL) {
-    return "default";
-  }
-  return m_config_filename;
-}
-
diff --git a/src/mem/gems_common/ioutil/initvar.hh b/src/mem/gems_common/ioutil/initvar.hh
deleted file mode 100644 (file)
index ac261f1..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _INCLUDE_H_
-#define _INCLUDE_H_
-
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Macro declarations                                                     */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Class declaration(s)                                                   */
-/*------------------------------------------------------------------------*/
-
-/**
-* This class deals with initializing the global variables in the object,
-* setting the varibles (from the command line), printing the configuration,
-* and saving it to a file.
-*
-* @see     confio_t
-* @author  cmauer
-* @version $Id$
-*/
-class initvar_t {
-public:
-  /**
-   * @name Constructor(s) / destructor
-   */
-  //@{
-
-  /**
-   * Constructor: creates object
-   * @param name                The name of this object
-   * @param relativeIncludePath The relative path to config files
-   * @param initializingString  A string (with value pairs) for initialization
-   * @param allocate_f        A ptr to the allocate function
-   * @param generate_values   A ptr to the generate values function
-   */
-  initvar_t( const char *name, const char *relativeIncludePath,
-             const char *initializingString,
-             void (*allocate_fn)(void),
-             void (*my_generate_fn)(void)
-           );
-
-  /**
-   * Destructor: frees object.
-   */
-  ~initvar_t();
-  //@}
-
-  /**
-   * @name Methods
-   */
-  //@{
-  /// calls the allocation routine explicitly (used by the tester)
-  void         allocate( void );
-
-  /// checks to see if all vars have been initialized
-  void         checkInitialization( void );
-
-  /// list all parameters: to a file (or stdout if file is NULL)
-  void         list_param( FILE *fp );
-
-  /// returns the name of the last config file to be read ("default" is none)
-  const char  *get_config_name( void );
-
-  /// calls through to the get_attr function, if object is initialized
-  int dispatch_get( void *id, void *obj,
-                    attr_value_t *idx );
-
-  /** adds initialization attributes, calls through to the set_attr function,
-   *  if object is initialized.
-   */
-  set_error_t  dispatch_set( void *id, void *obj,
-                             attr_value_t *val, attr_value_t *idx );
-  //@}
-  /// (single) instance of the init var object
-  static initvar_t *m_inst;
-
-protected:
-  ///returns true if the variables are initialized
-  bool  confirm_init( void ) {
-    return m_is_init;
-  }
-
-  ///read a configuration file
-  void         read_config( const char *parameterFile );
-
-  /// set a parameter to be a particular value
-  set_error_t  set_param( const char *name, attr_value_t *value );
-
-  /// initializes the configuration reader
-  void         init_config_reader( const char *initString );
-
-  /// bool value (true if initialized)
-  bool       m_is_init;
-
-  /// configuration reader
-  confio_t  *m_config_reader;
-
-  /// a pointer to a string (corresponding to this objects name)
-  char      *m_name;
-
-  /// a pointer to a string (representing the last config file read)
-  char      *m_config_filename;
-
-  /// the relative include path to the configuration files
-  char      *m_rel_include_path;
-
-  /// a pointer to the allocation function
-  void     (*m_allocate_f)(void);
-
-  /// a pointer to the generate values function
-  void     (*m_generate_values_f)(void);
-
-};
-
-
-/*------------------------------------------------------------------------*/
-/* Global variables                                                       */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Global functions                                                       */
-/*------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-///provides a dispatch mechanism that catches a few commands to get variables
-attr_value_t initvar_dispatch_get( void *id, void *obj,
-                                   attr_value_t *idx );
-
-///provides a dispatch mechanism that catches a few commands to set variables
-set_error_t  initvar_dispatch_set( void *id, void *obj,
-                                   attr_value_t *val, attr_value_t *idx );
-
-#ifdef __cplusplus
-} // extern "C"
-#endif
-
-#endif  /* _INCLUDE_H_ */
diff --git a/src/mem/gems_common/ioutil/vardecl.hh b/src/mem/gems_common/ioutil/vardecl.hh
deleted file mode 100644 (file)
index 607bc54..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1999-2005 Mark D. Hill and David A. Wood
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _VARDECL_H_
-#define _VARDECL_H_
-
-/*------------------------------------------------------------------------*/
-/* Includes                                                               */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Macro declarations                                                     */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Class declaration(s)                                                   */
-/*------------------------------------------------------------------------*/
-
-/*------------------------------------------------------------------------*/
-/* Global variables                                                       */
-/*------------------------------------------------------------------------*/
-
-#define PARAM( NAME ) \
-   extern int32  NAME;
-#define PARAM_UINT( NAME ) \
-   extern uint32 NAME;
-#define PARAM_ULONG( NAME ) \
-   extern uint64 NAME;
-#define PARAM_BOOL( NAME ) \
-   extern bool   NAME;
-#define PARAM_DOUBLE( NAME ) \
-   extern double NAME;
-#define PARAM_STRING( NAME ) \
-   extern char  *NAME;
-#define PARAM_ARRAY( PTYPE, NAME, ARRAY_SIZE ) \
-   extern PTYPE  NAME[ARRAY_SIZE];
-#include "mem/ruby/config/config.hh"
-#undef PARAM
-#undef PARAM_UINT
-#undef PARAM_ULONG
-#undef PARAM_BOOL
-#undef PARAM_DOUBLE
-#undef PARAM_STRING
-#undef PARAM_ARRAY
-
-/*------------------------------------------------------------------------*/
-/* Global functions                                                       */
-/*------------------------------------------------------------------------*/
-
-#endif  /* _VARDECL_H_ */