panic("makeRegisterCopy not implemented");
          return 0;
      }
-     static inline ExtMachInst
-     makeExtMI(MachInst inst, ThreadContext * xc) {
- #if FULL_SYSTEM
-         ExtMachInst ext_inst = inst;
-         if (xc->readPC() && 0x1)
-             return ext_inst|=(static_cast<ExtMachInst>(xc->readPC() & 0x1) << 32);
-         else
-             return ext_inst;
- #else
-         return ExtMachInst(inst);
- #endif
-     }
- 
 +
 +    inline void startupCPU(ThreadContext *tc, int cpuId)
 +    {
 +        tc->activate(0);
 +    }
  };
  
  
 
  #
  # Authors: Gabe Black
  
 -import os
 -import sys
 -from os.path import isdir
 +Import('*')
- 
 +if env['TARGET_ISA'] == 'x86':
 +    Source('floatregfile.cc')
 +    Source('intregfile.cc')
 +    Source('miscregfile.cc')
++    Source('predecoder_tables.cc')
 +    Source('regfile.cc')
 +    Source('remote_gdb.cc')
  
 -# Import build environment variable from SConstruct.
 -Import('env')
 +    if env['FULL_SYSTEM']:
 +        # Full-system sources
 +        pass
 +    else:
 +        Source('process.cc')
  
 -###################################################
 -#
 -# Define needed sources.
 -#
 -###################################################
 -
 -# Base sources used by all configurations.
 -base_sources = Split('''
 -      floatregfile.cc
 -      intregfile.cc
 -      miscregfile.cc
 -      regfile.cc
 -      remote_gdb.cc
 -      predecoder_tables.cc
 -      ''')
 -
 -# Full-system sources
 -full_system_sources = Split('''
 -      ''')
 -
 -# Syscall emulation (non-full-system) sources
 -syscall_emulation_sources = Split('''
 -      linux/linux.cc
 -      linux/process.cc
 -      linux/syscalls.cc
 -      process.cc
 -      ''')
 -
 -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]
 -
 -# 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
 +        Source('linux/linux.cc')
 +        Source('linux/process.cc')
 +        Source('linux/syscalls.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)