# -*- mode:python -*-
-# Copyright (c) 2004-2005 The Regents of The University of Michigan
+# Copyright (c) 2004-2006 The Regents of The University of Michigan
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# Steve Reinhardt
# Korey Sewell
-import os
-import sys
-from os.path import isdir
+Import('*')
-# Import build environment variable from SConstruct.
-Import('env')
+if env['TARGET_ISA'] == 'mips':
+ Source('faults.cc')
+ Source('regfile/int_regfile.cc')
+ Source('regfile/float_regfile.cc')
+ Source('regfile/misc_regfile.cc')
+ Source('regfile/regfile.cc')
+ Source('tlb.cc')
+ Source('pagetable.cc')
+ Source('utility.cc')
+ Source('dsp.cc')
-###################################################
-#
-# Define needed sources.
-#
-###################################################
-
-# Base sources used by all configurations.
-base_sources = Split('''
- faults.cc
- isa_traits.cc
- utility.cc
- ''')
-
-# Full-system sources
-full_system_sources = Split('''
- #Insert Full-System Files Here
- ''')
-
-# Syscall emulation (non-full-system) sources
-syscall_emulation_sources = Split('''
- linux/linux.cc
- linux/process.cc
- process.cc
- ''')
-
-# Set up complete list of sources based on configuration.
-sources = base_sources
-
-if env['FULL_SYSTEM']:
- sources += full_system_sources
-else:
- sources += syscall_emulation_sources
-
-# Convert file names to SCons File objects. This takes care of the
-# path relative to the top of the directory tree.
-sources = [File(s) for s in sources]
+ SimObject('MipsTLB.py')
+ TraceFlag('MipsPRA')
-# Add in files generated by the ISA description.
-isa_desc_files = env.ISADesc('isa/main.isa')
-# Only non-header files need to be compiled.
-isa_desc_sources = [f for f in isa_desc_files if not f.path.endswith('.hh')]
-sources += isa_desc_sources
+ if env['FULL_SYSTEM']:
+ SimObject('MipsSystem.py')
+ Source('idle_event.cc')
+ Source('mips_core_specific.cc')
+ Source('vtophys.cc')
+ Source('system.cc')
+ Source('stacktrace.cc')
+ Source('linux/system.cc')
+ Source('interrupts.cc')
+ Source('bare_iron/system.cc')
+ else:
+ Source('process.cc')
+ Source('linux/linux.cc')
+ Source('linux/process.cc')
-Return('sources')
+ # Add in files generated by the ISA description.
+ isa_desc_files = env.ISADesc('isa/main.isa')
+ # Only non-header files need to be compiled.
+ for f in isa_desc_files:
+ if not f.path.endswith('.hh'):
+ Source(f)