Some stuff aparently didn't get committed which was from before the new repository was created.

SConscript:
    There is a new SConscript in the arch/alpha directory which has the alpha specific files. To add files for an arch, a similar file should be created.
arch/isa_parser.py:
    The isa parser now supports include directives. These are done with ##include
build/SConstruct:
    The target directory is passed on so that the architecture specific SConscript can have it. Also, sparc was added as a valid architecture type.
arch/alpha/SConscript:
    This SConscript adds the alpha specific source
arch/sparc/isa_desc/operands.h:
    This sets up the operand types that the sparc isa uses
arch/sparc/isa_traits.cc:
    Implementation of sparc specific things, like a register file with windows
build/build_options/default/SPARC_SE:
    The default options for a sparc syscall emulation build.

--HG--
extra : convert_revision : 1afedae61dc8cae0d59d3bf1d41420d929be2efd
This commit is contained in:
Gabe Black
2006-01-24 19:57:17 -05:00
parent 79a4683876
commit 89596f0cfa
8 changed files with 1211 additions and 34 deletions

View File

@@ -43,15 +43,8 @@ Import('env')
###################################################
# Base sources used by all configurations.
base_sources = Split('''
arch/alpha/decoder.cc
arch/alpha/alpha_o3_exec.cc
arch/alpha/fast_cpu_exec.cc
arch/alpha/simple_cpu_exec.cc
arch/alpha/full_cpu_exec.cc
arch/alpha/faults.cc
arch/alpha/isa_traits.cc
base_sources = Split('''
base/circlebuf.cc
base/copyright.cc
base/cprintf.cc
@@ -229,6 +222,14 @@ base_sources = Split('''
sim/stat_control.cc
sim/trace_context.cc
''')
# These are now included by the architecture specific SConscript
# arch/alpha/decoder.cc
# arch/alpha/alpha_o3_exec.cc
# arch/alpha/fast_cpu_exec.cc
# arch/alpha/simple_cpu_exec.cc
# arch/alpha/full_cpu_exec.cc
# arch/alpha/faults.cc
# arch/alpha/isa_traits.cc
# MySql sources
mysql_sources = Split('''
@@ -238,14 +239,6 @@ mysql_sources = Split('''
# Full-system sources
full_system_sources = Split('''
arch/alpha/alpha_memory.cc
arch/alpha/arguments.cc
arch/alpha/ev5.cc
arch/alpha/osfpal.cc
arch/alpha/pseudo_inst.cc
arch/alpha/stacktrace.cc
arch/alpha/vtophys.cc
base/crc.cc
base/inet.cc
base/remote_gdb.cc
@@ -301,6 +294,15 @@ full_system_sources = Split('''
sim/system.cc
''')
# These are now included by the architecture specific SConscript
# arch/alpha/alpha_memory.cc
# arch/alpha/arguments.cc
# arch/alpha/ev5.cc
# arch/alpha/osfpal.cc
# arch/alpha/pseudo_inst.cc
# arch/alpha/stacktrace.cc
# arch/alpha/vtophys.cc
# turbolaser encumbered sources
turbolaser_sources = Split('''
encumbered/dev/dma.cc
@@ -323,9 +325,6 @@ turbolaser_sources = Split('''
# Syscall emulation (non-full-system) sources
syscall_emulation_sources = Split('''
arch/alpha/alpha_common_syscall_emul.cc
arch/alpha/alpha_linux_process.cc
arch/alpha/alpha_tru64_process.cc
cpu/memtest/memtest.cc
encumbered/eio/eio.cc
encumbered/eio/exolex.cc
@@ -334,6 +333,11 @@ syscall_emulation_sources = Split('''
sim/syscall_emul.cc
''')
# These are now included by the architecture specific SConscript
# arch/alpha/alpha_common_syscall_emul.cc
# arch/alpha/alpha_linux_process.cc
# arch/alpha/alpha_tru64_process.cc
targetarch_files = Split('''
alpha_common_syscall_emul.hh
alpha_linux_process.hh
@@ -354,13 +358,18 @@ targetarch_files = Split('''
vtophys.hh
''')
# Set up bridging headers to the architecture specific versions
for f in targetarch_files:
env.Command('targetarch/' + f, 'arch/alpha/' + f,
'''echo '#include "arch/alpha/%s"' > $TARGET''' % f)
env.Command('targetarch/' + f, 'arch/%s/%s' % (env['TARGET_ISA'], f),
'''echo '#include "arch/%s/%s"' > $TARGET''' % (env['TARGET_ISA'], f))
# Let the target architecture define what sources it needs
arch_source = SConscript('arch/%s/SConscript' % env['TARGET_ISA'],
build_dir = 'build/%s/' % env['BUILD_DIR'],
exports = 'env', duplicate = False)
# Set up complete list of sources based on configuration.
sources = base_sources
sources = base_sources + arch_source
if env['FULL_SYSTEM']:
sources += full_system_sources
@@ -388,15 +397,24 @@ env.Command(Split('base/traceflags.hh base/traceflags.cc'),
'python $SOURCE $TARGET.base')
# several files are generated from arch/$TARGET_ISA/isa_desc.
env.Command(Split('''arch/alpha/decoder.cc
arch/alpha/decoder.hh
arch/alpha/alpha_o3_exec.cc
arch/alpha/fast_cpu_exec.cc
arch/alpha/simple_cpu_exec.cc
arch/alpha/full_cpu_exec.cc'''),
Split('''arch/alpha/isa_desc
arch/isa_parser.py'''),
'$SRCDIR/arch/isa_parser.py $SOURCE $TARGET.dir arch/alpha')
env.Command(Split('''
arch/%s/decoder.cc
arch/%s/decoder.hh
arch/%s/alpha_o3_exec.cc
arch/%s/fast_cpu_exec.cc
arch/%s/simple_cpu_exec.cc
arch/%s/full_cpu_exec.cc''' %
(env['TARGET_ISA'],
env['TARGET_ISA'],
env['TARGET_ISA'],
env['TARGET_ISA'],
env['TARGET_ISA'],
env['TARGET_ISA'])),
Split('''
arch/%s/isa_desc
arch/isa_parser.py''' %
env['TARGET_ISA']),
'$SRCDIR/arch/isa_parser.py $SOURCE $TARGET.dir arch/%s' % env['TARGET_ISA'])
# libelf build is described in its own SConscript file.