diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2005-08-30 13:18:54 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2005-08-30 13:18:54 -0400 |
commit | c4793184bd32e97e8932a9a0355d8a7b8a214752 (patch) | |
tree | d616bdd39c608898bd5fea6928166175e96d8d79 /base | |
parent | e007aa59e3da2609de92cc6d2cfcd7acf9d4276f (diff) | |
download | gem5-c4793184bd32e97e8932a9a0355d8a7b8a214752.tar.xz |
Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line. Build option flags are now always
defined to 0 or 1, so checks must use '#if' rather than
'#ifdef'.
SConscript:
MySQL detection moved to SConstruct.
Add config/*.hh files (via ConfigFile builder).
arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
arch/alpha/isa_traits.hh:
base/fast_alloc.hh:
base/statistics.cc:
base/statistics.hh:
base/stats/events.cc:
base/stats/events.hh:
cpu/base.cc:
cpu/base.hh:
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/o3/alpha_cpu.hh:
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_cpu_impl.hh:
cpu/o3/alpha_dyn_inst.hh:
cpu/o3/alpha_dyn_inst_impl.hh:
cpu/o3/alpha_params.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/regfile.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob_impl.hh:
cpu/ozone/cpu.hh:
cpu/pc_event.cc:
cpu/simple/cpu.cc:
cpu/simple/cpu.hh:
sim/process.cc:
sim/process.hh:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
arch/alpha/isa_desc:
Convert compile flags from def/undef to 0/1.
Set via #include config/*.hh instead of command line.
Revamp fenv.h support... most of the ugliness is hidden
in base/fenv.hh now.
base/mysql.hh:
Fix typo in #ifndef guard.
build/SConstruct:
Build options are set via a build_options file in the
build directory instead of being inferred from the name
of the build directory.
Options are passed to C++ via config/*.hh files instead of
via the command line.
python/SConscript:
Generate m5_build_env directly from scons options
instead of indirectly via CPPDEFINES.
python/m5/convert.py:
Allow '0' and '1' for booleans.
Rewrite toBool to use dict.
base/fenv.hh:
Revamp <fenv.h> support to make it a compile option
(so we can test w/o it even if it's present) and to
make isa_desc cleaner.
--HG--
extra : convert_revision : 8f97dc11185bef5e1865b3269c7341df8525c9ad
Diffstat (limited to 'base')
-rw-r--r-- | base/fast_alloc.hh | 4 | ||||
-rw-r--r-- | base/fenv.hh | 52 | ||||
-rw-r--r-- | base/mysql.hh | 6 | ||||
-rw-r--r-- | base/statistics.cc | 3 | ||||
-rw-r--r-- | base/statistics.hh | 3 | ||||
-rw-r--r-- | base/stats/events.cc | 7 | ||||
-rw-r--r-- | base/stats/events.hh | 5 |
7 files changed, 69 insertions, 11 deletions
diff --git a/base/fast_alloc.hh b/base/fast_alloc.hh index 9e7fa99d1..54e35f8e0 100644 --- a/base/fast_alloc.hh +++ b/base/fast_alloc.hh @@ -68,7 +68,9 @@ // (by bucket). // #define FAST_ALLOC_STATS -#ifdef NO_FAST_ALLOC +#include "config/no_fast_alloc.hh" + +#if NO_FAST_ALLOC class FastAlloc { }; diff --git a/base/fenv.hh b/base/fenv.hh new file mode 100644 index 000000000..3234f5dd3 --- /dev/null +++ b/base/fenv.hh @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2004-2005 The Regents of The University of Michigan + * 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 __BASE_FENV_HH__ +#define __BASE_FENV_HH__ + +#include "config/use_fenv.hh" + +#if USE_FENV + +#include <fenv.h> + +#else + +// Dummy definitions to allow code to compile w/o a real <fenv.h>. + +#define FE_TONEAREST 0 +#define FE_DOWNWARD 0 +#define FE_UPWARD 0 +#define FE_TOWARDZERO 0 + +inline int fesetround(int rounding_mode) { return 0; } + +#endif // USE_FENV + + +#endif // __BASE_FENV_HH__ diff --git a/base/mysql.hh b/base/mysql.hh index e16558dd3..2278d42e7 100644 --- a/base/mysql.hh +++ b/base/mysql.hh @@ -26,8 +26,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef __BASE_MYQSL_HH__ -#define __BASE_MYQSL_HH__ +#ifndef __BASE_MYSQL_HH__ +#define __BASE_MYSQL_HH__ #define TO_BE_INCLUDED_LATER 0 @@ -417,4 +417,4 @@ class Statement /* namespace MySQL */ } -#endif // __BASE_MYQSL_HH__ +#endif // __BASE_MYSQL_HH__ diff --git a/base/statistics.cc b/base/statistics.cc index 4368f1bcf..eaefd5f15 100644 --- a/base/statistics.cc +++ b/base/statistics.cc @@ -42,6 +42,7 @@ #include "base/time.hh" #include "base/trace.hh" #include "base/stats/statdb.hh" +#include "config/stats_binning.hh" using namespace std; @@ -285,7 +286,7 @@ check() Database::stats().sort(StatData::less); -#if defined(STATS_BINNING) +#if STATS_BINNING if (MainBin::curBin() == NULL) { static MainBin mainBin("main bin"); mainBin.activate(); diff --git a/base/statistics.hh b/base/statistics.hh index c4acd9c23..c46744cac 100644 --- a/base/statistics.hh +++ b/base/statistics.hh @@ -62,6 +62,7 @@ #include "base/stats/flags.hh" #include "base/stats/visit.hh" #include "base/stats/types.hh" +#include "config/stats_binning.hh" #include "sim/host.hh" class Callback; @@ -2184,7 +2185,7 @@ class SumNode : public Node * binned. If the typedef is NoBin, nothing is binned. If it is * MainBin, then all stats are binned under that Bin. */ -#if defined(STATS_BINNING) +#if STATS_BINNING typedef MainBin DefaultBin; #else typedef NoBin DefaultBin; diff --git a/base/stats/events.cc b/base/stats/events.cc index 8c3303a69..3191aec13 100644 --- a/base/stats/events.cc +++ b/base/stats/events.cc @@ -28,11 +28,12 @@ #include <vector> -#ifdef USE_MYSQL +#include "base/stats/events.hh" + +#if USE_MYSQL #include "base/cprintf.hh" #include "base/misc.hh" #include "base/mysql.hh" -#include "base/stats/events.hh" #include "base/stats/mysql.hh" #include "base/stats/mysql_run.hh" #include "base/str.hh" @@ -51,7 +52,7 @@ Tick EventStart = ULL(0x7fffffffffffffff); ObjectMatch event_ignore; -#ifdef USE_MYSQL +#if USE_MYSQL class InsertEvent { private: diff --git a/base/stats/events.hh b/base/stats/events.hh index 8b3212bed..2a23240b4 100644 --- a/base/stats/events.hh +++ b/base/stats/events.hh @@ -32,12 +32,13 @@ #include <string> #include "base/trace.hh" +#include "config/use_mysql.hh" namespace Stats { extern Tick EventStart; -#ifdef USE_MYSQL +#if USE_MYSQL void __event(const std::string &stat); bool MySqlConnected(); #endif @@ -52,7 +53,7 @@ recordEvent(const std::string &stat) DPRINTF(StatEvents, "Statistics Event: %s\n", stat); -#ifdef USE_MYSQL +#if USE_MYSQL if (!MySqlConnected()) return; |