WHAT'S NEEDED
-------------
-GCC(3.X)
--Python(2.2.2+)
+-Python(2.4+)
WHAT'S RECOMMENDED
------------------
There are three different build targets and three optimizations in each level:
Target:
-------
-ALPHA - Syscall emulation simulation
-KERNEL - Linux full system simulation
-KERNEL_TLASER - Tru64 Unix full system simulation
+ALPHA_SE - Syscall emulation simulation
+ALPHA_FS - Linux full system simulation
+ALPHA_FS_TL - Tru64 (Turbolaser) Unix full system simulation
Optimization:
-------------
m5.fast - optimized version of the code without tracing and asserts
cd $top/m5/build
-scons TARGET/OPTLEVL # e.g. KERNEL/m5.opt, use -j N if you have a MP system
+scons TARGET/OPTLEVL # e.g. ALPHA_FS/m5.opt, use -j N if you have a MP system
cd $top/m5-test
-./do-tests.pl -B ALPHA # test what you just built
-./do-tests.pl -B KERNEL # test what you just built
+./do-tests.pl -B ALPHA_SE # test what you just built
+./do-tests.pl -B ALPHA_FS # test what you just built
# wait for tests to run...
# should end with "finished do-tests successfully!"
#
# Then type 'scons' to build the default configuration (see below), or
# 'scons <CONFIG>/<binary>' to build some other configuration (e.g.,
-# 'KERNEL/m5.opt' for the optimized full-system version).
+# 'ALPHA_FS/m5.opt' for the optimized full-system version).
#
###################################################
# The build system infers the build options from the subdirectory name
# that the simulator is built under. The subdirectory name must be of
# the form <CONFIG>[.<OPT>]*, where <CONFIG> is a base configuration
-# (e.g., ALPHA or KERNEL) and OPT is an option (e.g., MYSQL). The
+# (e.g., ALPHA_SE or ALPHA_FS) and OPT is an option (e.g., MYSQL). The
# following code defines the standard configurations and options.
# Additional local configurations and options are read from the file
# 'local_configs' if it exists.
###################################################
# Base non-full-system Alpha ISA configuration.
-def AlphaConfig(env):
+def AlphaSyscallEmulConfig(env):
env.Replace(TARGET_ISA = 'alpha')
env.Append(CPPDEFINES = 'SS_COMPATIBLE_FP')
# Base full-system configuration.
-def KernelConfig(env):
+def AlphaFullSysConfig(env):
env.Replace(TARGET_ISA = 'alpha')
env.Replace(FULL_SYSTEM = True)
env.Append(CPPDEFINES = ['FULL_SYSTEM'])
# Base configurations map.
configs_map = {
- 'ALPHA' : AlphaConfig,
- 'KERNEL' : KernelConfig
+ 'ALPHA_SE' : AlphaSyscallEmulConfig,
+ 'ALPHA_FS' : AlphaFullSysConfig
}
# Disable FastAlloc object allocation.
# Set the default configuration and binary. The default target (if
# scons is invoked at the top level with no command-line targets) is
-# 'ALPHA/m5.debug'. If scons is invoked in a subdirectory with no
+# 'ALPHA_SE/m5.debug'. If scons is invoked in a subdirectory with no
# command-line targets, the configuration
###################################################
#
# 3. If there are no command-line targets and scons was invoked from
# the root build directory, a default configuration is used. The
-# built-in default is ALPHA, but this can be overridden by setting the
+# built-in default is ALPHA_SE, but this can be overridden by setting the
# M5_DEFAULT_CONFIG shell environment veriable.
#
# In cases 2 & 3, the specific file target defaults to 'm5.debug', but
###################################################
# Find default configuration & binary.
-default_config = os.environ.get('M5_DEFAULT_CONFIG', 'ALPHA')
+default_config = os.environ.get('M5_DEFAULT_CONFIG', 'ALPHA_SE')
default_binary = os.environ.get('M5_DEFAULT_BINARY', 'm5.debug')
# Ask SCons which directory it was invoked from. If you invoke SCons
# easy: use specified targets as is
my_targets = COMMAND_LINE_TARGETS
else:
- # default target (ALPHA/m5.debug, unless overridden)
+ # default target (ALPHA_SE/m5.debug, unless overridden)
target = os.path.join(default_config, default_binary)
my_targets = [target]
Default(target)