#include <string>
 #include <vector>
 
-#include "alpha_memory.hh"
-#include "ev5.hh"
-#include "exec_context.hh"
-#include "trace.hh"
-#include "inifile.hh"
-#include "str.hh"
+#include "targetarch/alpha_memory.hh"
+#include "targetarch/ev5.hh"
+#include "cpu/exec_context.hh"
+#include "base/trace.hh"
+#include "base/inifile.hh"
+#include "base/str.hh"
 
 using namespace std;
 
 
 
 #include <map>
 
-#include "mem_req.hh"
-#include "sim_object.hh"
-#include "statistics.hh"
+#include "targetarch/mem_req.hh"
+#include "sim/sim_object.hh"
+#include "base/statistics.hh"
 
 class ExecContext;
 
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "arguments.hh"
-#include "exec_context.hh"
-#include "physical_memory.hh"
-#include "vtophys.hh"
+#include "targetarch/arguments.hh"
+#include "cpu/exec_context.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "targetarch/vtophys.hh"
 
 AlphaArguments::Data::~Data()
 {
 
 
 #include <assert.h>
 
-#include "host.hh"
-#include "kernel.hh"
-#include "refcnt.hh"
+#include "sim/host.hh"
+#include "targetarch/kernel.hh"
+#include "base/refcnt.hh"
 
 class ExecContext;
 
 
 /* $Id$ */
 
-#include "alpha_memory.hh"
-#include "annotation.hh"
+#include "targetarch/alpha_memory.hh"
+#include "sim/annotation.hh"
 #ifdef DEBUG
-#include "debug.hh"
+#include "sim/debug.hh"
 #endif
-#include "exec_context.hh"
-#include "sim_events.hh"
-#include "isa_traits.hh"
-#include "remote_gdb.hh"
-#include "kgdb.h"      // for ALPHA_KENTRY_IF
-#include "osfpal.hh"
+#include "cpu/exec_context.hh"
+#include "sim/sim_events.hh"
+#include "targetarch/isa_traits.hh"
+#include "base/remote_gdb.hh"
+#include "base/kgdb.h" // for ALPHA_KENTRY_IF
+#include "targetarch/osfpal.hh"
 
 #ifdef FULL_SYSTEM
 
 
 #error This code is only valid for EV5 systems
 #endif
 
-#include "isa_traits.hh"
+#include "targetarch/isa_traits.hh"
 
 void m5_exit();
 
 
 #include <sys/stat.h>
 #include <string.h>    // for memset()
 
-#include "host.hh"
-#include "base_cpu.hh"
-#include "functional_memory.hh"
-#include "prog.hh"
-#include "exec_context.hh"
-#include "fake_syscall.hh"
-#include "sim_events.hh"
-
-#include "osf_syscalls.h"
-#include "universe.hh" // for curTick & ticksPerSecond
-
-#include "trace.hh"
+#include "sim/host.hh"
+#include "cpu/base_cpu.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "sim/prog.hh"
+#include "cpu/exec_context.hh"
+#include "sim/fake_syscall.hh"
+#include "sim/sim_events.hh"
+
+#include "targetarch/osf_syscalls.h"
+#include "sim/universe.hh"     // for curTick & ticksPerSecond
+
+#include "base/trace.hh"
 
 using namespace std;
 
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "faults.hh"
+#include "targetarch/faults.hh"
 
 namespace {
     const char *
 
 #include <fenv.h>
 #endif
 
-#include "static_inst.hh"
-#include "cprintf.hh"
-#include "misc.hh"
-#include "op_class.hh"
-
-#include "exec_context.hh"
-#include "simple_cpu.hh"
-#include "spec_state.hh"
-#include "cpu.hh"
-#include "exetrace.hh"
-#include "annotation.hh"
+#include "cpu/static_inst.hh"
+#include "base/cprintf.hh"
+#include "base/misc.hh"
+#include "cpu/full_cpu/op_class.hh"
+
+#include "cpu/exec_context.hh"
+#include "cpu/simple_cpu/simple_cpu.hh"
+#include "cpu/full_cpu/spec_state.hh"
+#include "cpu/full_cpu/cpu.hh"
+#include "cpu/exetrace.hh"
+#include "sim/annotation.hh"
 
 #ifdef FULL_SYSTEM
-#include "ev5.hh"
+#include "targetarch/ev5.hh"
 #endif
 
 namespace AlphaISA;
 
 #ifndef __ISA_TRAITS_HH__
 #define __ISA_TRAITS_HH__
 
-#include "host.hh"
-#include "faults.hh"
-#include "misc.hh"
+#include "sim/host.hh"
+#include "targetarch/faults.hh"
+#include "base/misc.hh"
 
 class CPU;
 class IniFile;
 
     typedef uint64_t InternalProcReg;
 
-#include "isa_fullsys_traits.hh"
+#include "targetarch/isa_fullsys_traits.hh"
 
 #else
     enum {
 
 // more stuff that should be imported here, but I'm too tired to do it
 // right now...
-#include "ev5.hh"
+#include "targetarch/ev5.hh"
 #endif
 
 #endif // __ALPHA_ISA_H__
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "osfpal.hh"
+#include "targetarch/osfpal.hh"
 
 namespace {
     const char *strings[PAL::NumCodes] = {
 
 
 #include <string>
 
-#include "pmap.h"
+#include "targetarch/pmap.h"
 
-#include "exec_context.hh"
-#include "physical_memory.hh"
-#include "trace.hh"
-#include "vtophys.hh"
+#include "cpu/exec_context.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "base/trace.hh"
+#include "targetarch/vtophys.hh"
 
 using namespace std;
 
 
 #ifndef __VTOPHYS_H__
 #define __VTOPHYS_H__
 
-#include "pmap.h"
+#include "targetarch/pmap.h"
 
 inline bool entry_valid(uint64_t entry)
 { return (entry & ALPHA_PTE_VALID) != 0; }
 
 #include <string.h>
 #include <unistd.h>
 
-#include "circlebuf.hh"
-#include "cprintf.hh"
-#include "intmath.hh"
+#include "base/circlebuf.hh"
+#include "base/cprintf.hh"
+#include "base/intmath.hh"
 
 using namespace std;
 
 
 
 #include <assert.h>
 
-#include "lzss_compression.hh"
+#include "base/compression/lzss_compression.hh"
 
-#include "misc.hh" //for fatal
+#include "base/misc.hh" //for fatal
 
 int
 LZSSCompression::findSubString(uint8_t *src, int front, int back, int size)
 
  * LZSSCompression declarations.
  */
 
-#include "host.hh" // for uint8_t
+#include "sim/host.hh" // for uint8_t
 
 /**
  * Simple LZSS compression scheme.
 
 #include <iostream>
 #include <sstream>
 
-#include "cprintf.hh"
+#include "base/cprintf.hh"
 
 using namespace std;
 
 
 
 namespace cp {
 
-#include "cprintf_formats.hh"
+#include "base/cprintf_formats.hh"
 
 class ArgList
 {
 
 #endif
 
 #include <assert.h>
-#include "fast_alloc.hh"
+#include "base/fast_alloc.hh"
 
 void *FastAlloc::freeLists[Num_Buckets];
 
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "fifo_buffer.hh"
+#include "base/fifo_buffer.hh"
 
 template<class T>
 void
 
 #ifndef __FIFO_BUFFER_HH__
 #define __FIFO_BUFFER_HH__
 
-#include "res_list.hh"
+#include "base/res_list.hh"
 
 
 //
 
 
 #include <string>
 
-#include "host.hh"
+#include "sim/host.hh"
 
 #if defined(__GNUC__) && __GNUC__ >= 3
     #define __hash_namespace __gnu_cxx
 
 #include <errno.h>
 #include <math.h>
 
-#include "host.hh"
+#include "sim/host.hh"
 
 uint64_t
 procInfo(char *filename, char *target)
 
 #ifndef __HOSTINFO_HH__
 #define __HOSTINFO_HH__
 
-#include "host.hh"
+#include "sim/host.hh"
 
 uint64_t procInfo(char *filename, char *target);
 
 
 #include <string>
 #include <sstream>
 
-#include "hybrid_pred.hh"
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "base/hybrid_pred.hh"
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 using namespace std;
 
 
 
 #include <string>
 
-#include "sat_counter.hh"
+#include "base/sat_counter.hh"
 
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 class HybridPredictor : public GenericPredictor
 {
 
 #include <sstream>
 #include <string>
 
-#include "cprintf.hh"
-#include "host.hh"
-#include "inet.hh"
+#include "base/cprintf.hh"
+#include "sim/host.hh"
+#include "base/inet.hh"
 
 using namespace::std;
 string
 
 #ifndef __INET_HH__
 #define __INET_HH__
 
-#include "host.hh"
+#include "sim/host.hh"
 
 uint32_t crc32be(const uint8_t *buf, size_t len);
 uint32_t crc32le(const uint8_t *buf, size_t len);
 
 #include <vector>
 #include <string>
 
-#include "inifile.hh"
-#include "str.hh"
+#include "base/inifile.hh"
+#include "base/str.hh"
 
 using namespace std;
 
 
 #include <string>
 #include <vector>
 
-#include "hashmap.hh"
+#include "base/hashmap.hh"
 
 class IniFile
 {
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "intmath.hh"
+#include "base/intmath.hh"
 
 int
 PrevPrime(int n)
 
 
 #include <string>
 
-#include "aout_object.hh"
+#include "base/loader/aout_object.hh"
 
-#include "functional_memory.hh"
-#include "symtab.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "base/loader/symtab.hh"
 
-#include "trace.hh"    // for DPRINTF
+#include "base/trace.hh"       // for DPRINTF
 
-#include "exec_aout.h"
+#include "base/loader/exec_aout.h"
 
 using namespace std;
 
 
 #ifndef __AOUT_OBJECT_HH__
 #define __AOUT_OBJECT_HH__
 
-#include "object_file.hh"
+#include "base/loader/object_file.hh"
 
 // forward decls: avoid including exec_aout.h here
 struct aout_exechdr;
 
 
 #include <string>
 
-#include "ecoff_object.hh"
+#include "base/loader/ecoff_object.hh"
 
-#include "functional_memory.hh"
-#include "symtab.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "base/loader/symtab.hh"
 
-#include "trace.hh"    // for DPRINTF
+#include "base/trace.hh"       // for DPRINTF
 
-#include "exec_ecoff.h"
-#include "coff_sym.h"
-#include "coff_symconst.h"
+#include "base/loader/exec_ecoff.h"
+#include "base/loader/coff_sym.h"
+#include "base/loader/coff_symconst.h"
 
 using namespace std;
 
 
 #ifndef __ECOFF_OBJECT_HH__
 #define __ECOFF_OBJECT_HH__
 
-#include "object_file.hh"
+#include "base/loader/object_file.hh"
 
 // forward decls: avoid including exec_ecoff.h here
 struct ecoff_exechdr;
 
 
 #include <string>
 
-#include "elf_object.hh"
+#include "base/loader/elf_object.hh"
 
-#include "functional_memory.hh"
-#include "symtab.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "base/loader/symtab.hh"
 
-#include "trace.hh"    // for DPRINTF
+#include "base/trace.hh"       // for DPRINTF
 
-#include "exec_elf.h"
+#include "base/loader/exec_elf.h"
 
 using namespace std;
 
 
 #ifndef __ELF_OBJECT_HH__
 #define __ELF_OBJECT_HH__
 
-#include "object_file.hh"
+#include "base/loader/object_file.hh"
 
 // forward decls: avoid including exec_elf.hh here
 struct Elf64_Ehdr;
 
         (N_GETMAGIC(ex) != NMAGIC && N_GETMAGIC(ex) != OMAGIC && \
         N_GETMAGIC(ex) != ZMAGIC)
 
-#include "aout_machdep.h"
+#include "targetarch/aout_machdep.h"
 
 #endif /* !_SYS_EXEC_AOUT_H_ */
 
 #ifndef        _SYS_EXEC_ECOFF_H_
 #define        _SYS_EXEC_ECOFF_H_
 
-#include "ecoff_machdep.h"
+#include "targetarch/ecoff_machdep.h"
 
 struct ecoff_filehdr {
         coff_ushort f_magic;   /* magic number */
 
 #include <stdio.h>
 #include <unistd.h>
 
-#include "cprintf.hh"
-#include "object_file.hh"
-#include "symtab.hh"
+#include "base/cprintf.hh"
+#include "base/loader/object_file.hh"
+#include "base/loader/symtab.hh"
 
-#include "ecoff_object.hh"
-#include "aout_object.hh"
-#include "elf_object.hh"
+#include "base/loader/ecoff_object.hh"
+#include "base/loader/aout_object.hh"
+#include "base/loader/elf_object.hh"
 
 using namespace std;
 
 
 #ifndef __OBJECT_FILE_HH__
 #define __OBJECT_FILE_HH__
 
-#include "isa_traits.hh"       // for Addr
+#include "targetarch/isa_traits.hh"    // for Addr
 
 class FunctionalMemory;
 class SymbolTable;
 
 #include <string>
 #include <vector>
 
-#include "host.hh"
-#include "misc.hh"
-#include "str.hh"
-#include "symtab.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+#include "base/str.hh"
+#include "base/loader/symtab.hh"
 
 using namespace std;
 
 
 #ifndef __SYMTAB_HH__
 #define __SYMTAB_HH__
 
-#include "hashmap.hh"
-#include "isa_traits.hh"       // for Addr
+#include "base/hashmap.hh"
+#include "targetarch/isa_traits.hh"    // for Addr
 
 class SymbolTable
 {
 
 #include <iostream>
 #include <string>
 
-#include "cprintf.hh"
-#include "host.hh"
-#include "hostinfo.hh"
-#include "misc.hh"
-#include "trace.hh"
-#include "universe.hh"
+#include "base/cprintf.hh"
+#include "sim/host.hh"
+#include "base/hostinfo.hh"
+#include "base/misc.hh"
+#include "base/trace.hh"
+#include "sim/universe.hh"
 
 using namespace std;
 
 
 #define __MISC_HH__
 
 #include <assert.h>
-#include "cprintf.hh"
+#include "base/cprintf.hh"
 
 //
 // This implements a cprintf based panic
 
 #include <signal.h>
 #include <unistd.h>
 
-#include "async.hh"
-#include "host.hh"
-#include "misc.hh"
-#include "pollevent.hh"
-#include "universe.hh"
+#include "sim/async.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+#include "base/pollevent.hh"
+#include "sim/universe.hh"
 
 PollQueue pollQueue;
 
 
 
 #include <vector>
 #include <poll.h>
-#include "universe.hh"
+#include "sim/universe.hh"
 
 class PollEvent
 {
 
 #include <cstdlib>
 #include <cmath>
 
-#include "param.hh"
-#include "random.hh"
+#include "sim/param.hh"
+#include "base/random.hh"
 
 using namespace std;
 
 
 #ifndef __RANDOM_HH__
 #define __RANDOM_HH__
 
-#include "host.hh"
+#include "sim/host.hh"
 
 long getLong();
 double getDouble();
 
 
 #include <assert.h>
 
-#include "intmath.hh"
-#include "str.hh"
+#include "base/intmath.hh"
+#include "base/str.hh"
 
 template<class T>
 class Range
 
 
 #include <string>
 
-#include "exec_context.hh"
-#include "intmath.hh"
-#include "kgdb.h"
-
-#include "physical_memory.hh"
-#include "remote_gdb.hh"
-#include "socket.hh"
-#include "trace.hh"
-#include "vtophys.hh"
-#include "system.hh"
-#include "static_inst.hh"
+#include "cpu/exec_context.hh"
+#include "base/intmath.hh"
+#include "base/kgdb.h"
+
+#include "mem/functional_mem/physical_memory.hh"
+#include "base/remote_gdb.hh"
+#include "base/socket.hh"
+#include "base/trace.hh"
+#include "targetarch/vtophys.hh"
+#include "sim/system.hh"
+#include "cpu/static_inst.hh"
 
 using namespace std;
 
 
 #ifndef __REMOTE_GDB_HH__
 #define __REMOTE_GDB_HH__
 
-#include "kgdb.h"
-#include "pc_event.hh"
-#include "pollevent.hh"
-#include "socket.hh"
+#include "base/kgdb.h"
+#include "cpu/pc_event.hh"
+#include "base/pollevent.hh"
+#include "base/socket.hh"
 
 class System;
 class ExecContext;
 
 #ifndef __RES_LIST_HH__
 #define __RES_LIST_HH__
 
-#include "cprintf.hh"
+#include "base/cprintf.hh"
 #include <assert.h>
 
 #define DEBUG_REMOVE 0
 
 
 #include <sstream>
 
-#include "sat_counter.hh"
+#include "base/sat_counter.hh"
 
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 
 using namespace std;
 
 
 #include <string>
 
-#include "predictor.hh"
+#include "base/predictor.hh"
 
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 struct stat_sdb_t;
 
 
 #define SCHED_LIST_HH
 
 #include <list>
-#include "misc.hh"
+#include "base/misc.hh"
 
 //  Any types you use this class for must be covered here...
 namespace {
 
 #include <errno.h>
 #include <unistd.h>
 
-#include "host.hh"
-#include "misc.hh"
-#include "socket.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+#include "base/socket.hh"
 
 using namespace std;
 
 
 
 #include <math.h>
 
-#include "cprintf.hh"
-#include "intmath.hh"
-#include "misc.hh"
-#include "statistics.hh"
-#include "str.hh"
-#include "universe.hh"
+#include "base/cprintf.hh"
+#include "base/intmath.hh"
+#include "base/misc.hh"
+#include "base/statistics.hh"
+#include "base/str.hh"
+#include "sim/universe.hh"
 
 #ifdef __M5_NAN
 float
 
 
 #include <assert.h>
 
-#include "host.hh"
-#include "refcnt.hh"
-#include "str.hh"
+#include "sim/host.hh"
+#include "base/refcnt.hh"
+#include "base/str.hh"
 
 #ifndef NAN
 float __nan();
 
 #include <string>
 #include <vector>
 
-#include "intmath.hh"
-#include "str.hh"
+#include "base/intmath.hh"
+#include "base/str.hh"
 
 using namespace std;
 
 
 #include <string>
 #include <vector>
 
-#include "misc.hh"
-#include "trace.hh"
-#include "str.hh"
+#include "base/misc.hh"
+#include "base/trace.hh"
+#include "base/str.hh"
 
 using namespace std;
 
 
 
 #include <vector>
 
-#include "cprintf.hh"
-#include "host.hh"
-#include "universe.hh"
+#include "base/cprintf.hh"
+#include "sim/host.hh"
+#include "sim/universe.hh"
 
 #ifndef TRACING_ON
 #ifdef DEBUG
 #endif
 #endif
 
-#include "trace_flags.hh"
+#include "base/trace_flags.hh"
 
 namespace Trace {
 
 
 #include <sstream>
 #include <iostream>
 
-#include "base_cpu.hh"
-#include "cprintf.hh"
-#include "exec_context.hh"
-#include "misc.hh"
-#include "sim_events.hh"
+#include "cpu/base_cpu.hh"
+#include "base/cprintf.hh"
+#include "cpu/exec_context.hh"
+#include "base/misc.hh"
+#include "sim/sim_events.hh"
 
 using namespace std;
 
 
 
 #include <vector>
 
-#include "eventq.hh"
-#include "sim_object.hh"
+#include "sim/eventq.hh"
+#include "sim/sim_object.hh"
 
-#include "isa_traits.hh"       // for Addr
+#include "targetarch/isa_traits.hh"    // for Addr
 
 #ifdef FULL_SYSTEM
 class System;
 
 
 #include <string>
 
-#include "base_cpu.hh"
-#include "exec_context.hh"
+#include "cpu/base_cpu.hh"
+#include "cpu/exec_context.hh"
 
 #ifdef FULL_SYSTEM
-#include "system.hh"
+#include "sim/system.hh"
 #else
-#include "prog.hh"
+#include "sim/prog.hh"
 #endif
 
 using namespace std;
 
 #ifndef __EXEC_CONTEXT_HH__
 #define __EXEC_CONTEXT_HH__
 
-#include "host.hh"
-#include "mem_req.hh"
+#include "sim/host.hh"
+#include "targetarch/mem_req.hh"
 
 // forward declaration: see functional_memory.hh
 class FunctionalMemory;
 
 #ifdef FULL_SYSTEM
 
-#include "alpha_memory.hh"
+#include "targetarch/alpha_memory.hh"
 class MemoryController;
 
-#include "kernel_stats.hh"
-#include "system.hh"
+#include "kern/tru64/kernel_stats.hh"
+#include "sim/system.hh"
 
 #else // !FULL_SYSTEM
 
-#include "prog.hh"
+#include "sim/prog.hh"
 
 #endif // FULL_SYSTEM
 
 
 #include <fstream>
 #include <iomanip>
 
-#include "dyn_inst.hh"
-#include "spec_state.hh"
-#include "issue.hh"
-#include "exetrace.hh"
-#include "exec_context.hh"
-#include "symtab.hh"
-#include "base_cpu.hh"
-#include "static_inst.hh"
+#include "cpu/full_cpu/dyn_inst.hh"
+#include "cpu/full_cpu/spec_state.hh"
+#include "cpu/full_cpu/issue.hh"
+#include "cpu/exetrace.hh"
+#include "cpu/exec_context.hh"
+#include "base/loader/symtab.hh"
+#include "cpu/base_cpu.hh"
+#include "cpu/static_inst.hh"
 
 using namespace std;
 
 
 #include <fstream>
 #include <vector>
 
-#include "host.hh"
-#include "inst_seq.hh" // for InstSeqNum
-#include "trace.hh"
-#include "exec_context.hh"
-#include "static_inst.hh"
+#include "sim/host.hh"
+#include "cpu/inst_seq.hh"     // for InstSeqNum
+#include "base/trace.hh"
+#include "cpu/exec_context.hh"
+#include "cpu/static_inst.hh"
 
 class BaseCPU;
 
 
 #include <string>
 #include <vector>
 
-#include "base_cpu.hh"
-#include "intr_control.hh"
-#include "sim_object.hh"
+#include "cpu/base_cpu.hh"
+#include "cpu/intr_control.hh"
+#include "sim/sim_object.hh"
 
 using namespace std;
 
 
 #ifndef __INTR_CONTROL_HH__
 #define __INTR_CONTROL_HH__
 
-#include "misc.hh"
-#include "base_cpu.hh"
-#include "sim_object.hh"
+#include "base/misc.hh"
+#include "cpu/base_cpu.hh"
+#include "sim/sim_object.hh"
 
 class IntrControl : public SimObject
 {
 
 #include <iomanip>
 #include <vector>
 
-#include "memtest.hh"
-#include "misc.hh"
-#include "sim_events.hh"
-#include "main_memory.hh"
-#include "base_cache.hh"
-
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "cpu/memtest/memtest.hh"
+#include "base/misc.hh"
+#include "sim/sim_events.hh"
+#include "mem/functional_mem/main_memory.hh"
+#include "mem/cache/base_cache.hh"
+
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 using namespace std;
 
 
 #ifndef __MEMTEST_HH__
 #define __MEMTEST_HH__
 
-#include "sim_object.hh"
-#include "mem_interface.hh"
-#include "functional_memory.hh"
-#include "base_cpu.hh"
-#include "exec_context.hh"
-
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "sim/sim_object.hh"
+#include "mem/mem_interface.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "cpu/base_cpu.hh"
+#include "cpu/exec_context.hh"
+
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 class MemTest : public BaseCPU
 {
 
 #include <string>
 #include <utility>
 
-#include "debug.hh"
-#include "exec_context.hh"
-#include "pc_event.hh"
-#include "trace.hh"
-#include "universe.hh"
+#include "sim/debug.hh"
+#include "cpu/exec_context.hh"
+#include "cpu/pc_event.hh"
+#include "base/trace.hh"
+#include "sim/universe.hh"
 
 #ifdef FULL_SYSTEM
-#include "arguments.hh"
-#include "pmap.h"
-#include "kernel.hh"
-#include "memory_control.hh"
-#include "cpu.hh"
-#include "system.hh"
-#include "bpred.hh"
+#include "targetarch/arguments.hh"
+#include "targetarch/pmap.h"
+#include "targetarch/kernel.hh"
+#include "mem/functional_mem/memory_control.hh"
+#include "cpu/full_cpu/cpu.hh"
+#include "sim/system.hh"
+#include "cpu/full_cpu/bpred.hh"
 #endif
 
 using namespace std;
 
 
 #include <vector>
 
-#include "mem_req.hh"
+#include "targetarch/mem_req.hh"
 
 class ExecContext;
 class PCEventQueue;
 
 #include <stdlib.h>
 #include <math.h>
 
-#include "host.hh"
-#include "cprintf.hh"
-#include "misc.hh"
-#include "smt.hh"
-
-#include "annotation.hh"
-#include "exec_context.hh"
-#include "base_cpu.hh"
-#include "debug.hh"
-#include "simple_cpu.hh"
-#include "inifile.hh"
-#include "mem_interface.hh"
-#include "base_mem.hh"
-#include "static_inst.hh"
+#include "sim/host.hh"
+#include "base/cprintf.hh"
+#include "base/misc.hh"
+#include "cpu/full_cpu/smt.hh"
+
+#include "sim/annotation.hh"
+#include "cpu/exec_context.hh"
+#include "cpu/base_cpu.hh"
+#include "sim/debug.hh"
+#include "cpu/simple_cpu/simple_cpu.hh"
+#include "base/inifile.hh"
+#include "mem/mem_interface.hh"
+#include "mem/base_mem.hh"
+#include "cpu/static_inst.hh"
 
 #ifdef FULL_SYSTEM
-#include "memory_control.hh"
-#include "physical_memory.hh"
-#include "alpha_memory.hh"
-#include "system.hh"
+#include "mem/functional_mem/memory_control.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "targetarch/alpha_memory.hh"
+#include "sim/system.hh"
 #else // !FULL_SYSTEM
-#include "functional_memory.hh"
-#include "prog.hh"
-#include "eio.hh"
+#include "mem/functional_mem/functional_memory.hh"
+#include "sim/prog.hh"
+#include "eio/eio.hh"
 #endif // FULL_SYSTEM
 
-#include "exetrace.hh"
-#include "trace.hh"
-#include "sim_events.hh"
-#include "pollevent.hh"
-#include "sim_object.hh"
-#include "sim_stats.hh"
+#include "cpu/exetrace.hh"
+#include "base/trace.hh"
+#include "sim/sim_events.hh"
+#include "base/pollevent.hh"
+#include "sim/sim_object.hh"
+#include "sim/sim_stats.hh"
 
-#include "range.hh"
-#include "symtab.hh"
+#include "base/range.hh"
+#include "base/loader/symtab.hh"
 
 #ifdef FULL_SYSTEM
-#include "vtophys.hh"
-#include "pciareg.h"
-#include "remote_gdb.hh"
-#include "alpha_access.h"
+#include "targetarch/vtophys.hh"
+#include "dev/pciareg.h"
+#include "base/remote_gdb.hh"
+#include "dev/alpha_access.h"
 #endif
 
 
 
 #ifndef __SIMPLE_CPU_HH__
 #define __SIMPLE_CPU_HH__
 
-#include "base_cpu.hh"
-#include "eventq.hh"
-#include "symtab.hh"
-#include "pc_event.hh"
-#include "statistics.hh"
+#include "cpu/base_cpu.hh"
+#include "sim/eventq.hh"
+#include "base/loader/symtab.hh"
+#include "cpu/pc_event.hh"
+#include "base/statistics.hh"
 
 
 // forward declarations
 
  */
 
 #include <iostream>
-#include "static_inst.hh"
-#include "universe.hh"
+#include "cpu/static_inst.hh"
+#include "sim/universe.hh"
 
 template <class ISA>
 StaticInstPtr<ISA> StaticInst<ISA>::nullStaticInstPtr;
 
 #include <bitset>
 #include <string>
 
-#include "host.hh"
-#include "hashmap.hh"
-#include "refcnt.hh"
+#include "sim/host.hh"
+#include "base/hashmap.hh"
+#include "base/refcnt.hh"
 
-#include "op_class.hh"
-#include "isa_traits.hh"
+#include "cpu/full_cpu/op_class.hh"
+#include "targetarch/isa_traits.hh"
 
 // forward declarations
 class ExecContext;
 
 
 #include <string>
 
-#include "alpha_console.hh"
-#include "base_cpu.hh"
-#include "console.hh"
-#include "exec_context.hh"
-#include "memory_control.hh"
-#include "simple_disk.hh"
-#include "tlaser_clock.hh"
-#include "system.hh"
-#include "trace.hh"
-#include "inifile.hh"
-#include "str.hh"      // for to_number()
+#include "dev/alpha_console.hh"
+#include "cpu/base_cpu.hh"
+#include "dev/console.hh"
+#include "cpu/exec_context.hh"
+#include "mem/functional_mem/memory_control.hh"
+#include "dev/simple_disk.hh"
+#include "dev/tlaser_clock.hh"
+#include "sim/system.hh"
+#include "base/trace.hh"
+#include "base/inifile.hh"
+#include "base/str.hh" // for to_number()
 
 using namespace std;
 
 
 #ifndef __ALPHA_CONSOLE_HH__
 #define __ALPHA_CONSOLE_HH__
 
-#include "host.hh"
-#include "alpha_access.h"
-#include "mmap_device.hh"
+#include "sim/host.hh"
+#include "dev/alpha_access.h"
+#include "mem/functional_mem/mmap_device.hh"
 
 class BaseCPU;
 class SimConsole;
 
 #include <sstream>
 #include <string>
 
-#include "misc.hh"
-#include "ev5.hh"
+#include "base/misc.hh"
+#include "targetarch/ev5.hh"
 
-#include "console.hh"
-#include "socket.hh"
-#include "trace.hh"
-#include "memory_control.hh"
+#include "dev/console.hh"
+#include "base/socket.hh"
+#include "base/trace.hh"
+#include "mem/functional_mem/memory_control.hh"
 
 using namespace std;
 
 
 
 #include <iostream>
 
-#include "circlebuf.hh"
-#include "intr_control.hh"
-#include "pollevent.hh"
-#include "socket.hh"
-#include "sim_object.hh"
+#include "base/circlebuf.hh"
+#include "cpu/intr_control.hh"
+#include "base/pollevent.hh"
+#include "base/socket.hh"
+#include "sim/sim_object.hh"
 
 class ConsoleListener;
 class SimConsole : public SimObject
 
 #include <fstream>
 #include <string>
 
-#include "disk_image.hh"
-#include "misc.hh"
-#include "trace.hh"
-#include "sim_exit.hh"
-#include "callback.hh"
+#include "dev/disk_image.hh"
+#include "base/misc.hh"
+#include "base/trace.hh"
+#include "sim/sim_exit.hh"
+#include "base/callback.hh"
 
 using namespace std;
 
 
 
 #include <fstream>
 
-#include "hashmap.hh"
-#include "sim_object.hh"
+#include "base/hashmap.hh"
+#include "sim/sim_object.hh"
 
 #define SectorSize (512)
 
 
 
 #include <math.h>
 
-#include "etherbus.hh"
-#include "etherdump.hh"
-#include "etherint.hh"
-#include "etherpkt.hh"
-#include "trace.hh"
-#include "universe.hh"
+#include "dev/etherbus.hh"
+#include "dev/etherdump.hh"
+#include "dev/etherint.hh"
+#include "dev/etherpkt.hh"
+#include "base/trace.hh"
+#include "sim/universe.hh"
 
 using namespace std;
 
 
 #ifndef __ETHERBUS_H__
 #define __ETHERBUS_H__
 
-#include "eventq.hh"
-#include "etherpkt.hh"
-#include "sim_object.hh"
+#include "sim/eventq.hh"
+#include "dev/etherpkt.hh"
+#include "sim/sim_object.hh"
 
 class EtherDump;
 class EtherInt;
 
 
 #include <string>
 
-#include "universe.hh"
-#include "etherdump.hh"
-#include "universe.hh"
+#include "sim/universe.hh"
+#include "dev/etherdump.hh"
+#include "sim/universe.hh"
 
 using std::string;
 
 
 #define __ETHERDUMP_H__
 
 #include <fstream>
-#include "etherpkt.hh"
-#include "sim_object.hh"
+#include "dev/etherpkt.hh"
+#include "sim/sim_object.hh"
 
 /*
  * Simple object for creating a simple pcap style packet trace
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "etherint.hh"
-#include "misc.hh"
-#include "sim_object.hh"
+#include "dev/etherint.hh"
+#include "base/misc.hh"
+#include "sim/sim_object.hh"
 
 void
 EtherInt::setPeer(EtherInt *p)
 
 
 #include <string>
 
-#include "etherpkt.hh"
-#include "sim_object.hh"
+#include "dev/etherpkt.hh"
+#include "sim/sim_object.hh"
 
 /*
  * Class representing the actual interface between two ethernet
 
 
 #include <math.h>
 
-#include "etherlink.hh"
-#include "etherdump.hh"
-#include "etherint.hh"
-#include "etherpkt.hh"
-#include "trace.hh"
-#include "universe.hh"
+#include "dev/etherlink.hh"
+#include "dev/etherdump.hh"
+#include "dev/etherint.hh"
+#include "dev/etherpkt.hh"
+#include "base/trace.hh"
+#include "sim/universe.hh"
 
 using namespace std;
 
 
 #ifndef __ETHERLINK_HH__
 #define __ETHERLINK_HH__
 
-#include "host.hh"
-#include "eventq.hh"
-#include "etherint.hh"
-#include "etherpkt.hh"
-#include "sim_object.hh"
+#include "sim/host.hh"
+#include "sim/eventq.hh"
+#include "dev/etherint.hh"
+#include "dev/etherpkt.hh"
+#include "sim/sim_object.hh"
 
 class EtherDump;
 
 
 
 #include <memory>
 
-#include "host.hh"
+#include "sim/host.hh"
 
-#include "refcnt.hh"
+#include "base/refcnt.hh"
 
 /*
  * Reference counted class containing ethernet packet data
 
 #include <deque>
 #include <string>
 
-#include "etherdump.hh"
-#include "etherint.hh"
-#include "etherpkt.hh"
-#include "ethertap.hh"
-#include "pollevent.hh"
-#include "socket.hh"
-#include "trace.hh"
-#include "misc.hh"
+#include "dev/etherdump.hh"
+#include "dev/etherint.hh"
+#include "dev/etherpkt.hh"
+#include "dev/ethertap.hh"
+#include "base/pollevent.hh"
+#include "base/socket.hh"
+#include "base/trace.hh"
+#include "base/misc.hh"
 
 using namespace std;
 
 
 #include <queue>
 #include <string>
 
-#include "etherint.hh"
-#include "etherpkt.hh"
-#include "eventq.hh"
-#include "pollevent.hh"
-#include "sim_object.hh"
+#include "dev/etherint.hh"
+#include "dev/etherpkt.hh"
+#include "sim/eventq.hh"
+#include "base/pollevent.hh"
+#include "sim/sim_object.hh"
 
 /*
  * Interface to connect a simulated ethernet device to the real world
 
 #include <string.h>
 #include <unistd.h>
 
-#include "disk_image.hh"
-#include "misc.hh"
-#include "physical_memory.hh"
-#include "simple_disk.hh"
-#include "trace.hh"
+#include "dev/disk_image.hh"
+#include "base/misc.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "dev/simple_disk.hh"
+#include "base/trace.hh"
 
 using namespace std;
 
 
 #ifndef __SIMPLE_DISK_HH__
 #define __SIMPLE_DISK_HH__
 
-#include "physical_memory.hh"
-#include "sim_object.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "sim/sim_object.hh"
 
 class DiskImage;
 
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "tru64_syscalls.hh"
+#include "kern/tru64/tru64_syscalls.hh"
 
 namespace {
     const char *
 
 #ifndef __TRU64_SYSCALLS_HH__
 #define __TRU64_SYSCALLS_HH__
 
-#include "syscalls.hh"
-#include "tru64.hh"
+#include "targetarch/syscalls.hh"
+#include "kern/tru64/tru64.hh"
 
 struct SystemCalls<Tru64>
 {
 
 #include <string>
 #include <vector>
 
-#include "debug.hh"
-#include "eventq.hh"
-#include "param.hh"
-#include "sim_events.hh"
+#include "sim/debug.hh"
+#include "sim/eventq.hh"
+#include "sim/param.hh"
+#include "sim/sim_events.hh"
 
 using namespace std;
 
 
 #include <sstream>
 #include <vector>
 
-#include "smt.hh"
-#include "misc.hh"
+#include "cpu/full_cpu/smt.hh"
+#include "base/misc.hh"
 
-#include "eventq.hh"
-#include "trace.hh"
-#include "universe.hh"
+#include "sim/eventq.hh"
+#include "base/trace.hh"
+#include "sim/universe.hh"
 
 using namespace std;
 
 
 #include <string>
 #include <vector>
 
-#include "host.hh"     // for Tick
+#include "sim/host.hh" // for Tick
 
-#include "fast_alloc.hh"
-#include "serialize.hh"
-#include "trace.hh"
+#include "base/fast_alloc.hh"
+#include "sim/serialize.hh"
+#include "base/trace.hh"
 
 class EventQueue;      // forward declaration
 
 
 #include <string>
 #include <vector>
 
-#include "host.hh"
-#include "misc.hh"
-
-#include "copyright.hh"
-#include "inifile.hh"
-#include "configfile.hh"
-#include "pollevent.hh"
-#include "statistics.hh"
-#include "sim_events.hh"
-#include "sim_exit.hh"
-#include "sim_object.hh"
-#include "sim_stats.hh"
-#include "sim_time.hh"
-#include "smt.hh"
-
-#include "base_cpu.hh"
-#include "async.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+
+#include "base/copyright.hh"
+#include "base/inifile.hh"
+#include "sim/configfile.hh"
+#include "base/pollevent.hh"
+#include "base/statistics.hh"
+#include "sim/sim_events.hh"
+#include "sim/sim_exit.hh"
+#include "sim/sim_object.hh"
+#include "sim/sim_stats.hh"
+#include "sim/sim_time.hh"
+#include "cpu/full_cpu/smt.hh"
+
+#include "cpu/base_cpu.hh"
+#include "sim/async.hh"
 
 using namespace std;
 
 
 
 #include <assert.h>
 
-#include "param.hh"
-#include "sim_object.hh"
-#include "inifile.hh"
-#include "configfile.hh"
-#include "config_node.hh"
-#include "misc.hh"
-#include "str.hh"
-#include "trace.hh"
+#include "sim/param.hh"
+#include "sim/sim_object.hh"
+#include "base/inifile.hh"
+#include "sim/configfile.hh"
+#include "sim/config_node.hh"
+#include "base/misc.hh"
+#include "base/str.hh"
+#include "base/trace.hh"
 
 using namespace std;
 
 
 #include <string>
 #include <vector>
 
-#include "configfile.hh"
+#include "sim/configfile.hh"
 
 // forward decls
 class BaseParam;
 
 
 #include <string>
 
-#include "main_memory.hh"
-#include "prog.hh"
-
-#include "eio.hh"
-#include "intmath.hh"
-#include "thread.hh"
-#include "fake_syscall.hh"
-#include "object_file.hh"
-#include "exec_context.hh"
-#include "smt.hh"
-
-#include "statistics.hh"
-#include "sim_stats.hh"
+#include "mem/functional_mem/main_memory.hh"
+#include "sim/prog.hh"
+
+#include "eio/eio.hh"
+#include "base/intmath.hh"
+#include "cpu/full_cpu/thread.hh"
+#include "sim/fake_syscall.hh"
+#include "base/loader/object_file.hh"
+#include "cpu/exec_context.hh"
+#include "cpu/full_cpu/smt.hh"
+
+#include "base/statistics.hh"
+#include "sim/sim_stats.hh"
 
 using namespace std;
 
 
 
 #include <list>
 
-#include "isa_traits.hh"
-#include "sim_object.hh"
-#include "sim_stats.hh"
-#include "statistics.hh"
+#include "targetarch/isa_traits.hh"
+#include "sim/sim_object.hh"
+#include "sim/sim_stats.hh"
+#include "base/statistics.hh"
 
 class ExecContext;
 class FunctionalMemory;
 
 #include <string>
 #include <vector>
 
-#include "misc.hh"
-
-#include "eventq.hh"
-#include "param.hh"
-#include "serialize.hh"
-#include "inifile.hh"
-#include "sim_events.hh"
-#include "sim_object.hh"
-#include "trace.hh"
+#include "base/misc.hh"
+
+#include "sim/eventq.hh"
+#include "sim/param.hh"
+#include "sim/serialize.hh"
+#include "base/inifile.hh"
+#include "sim/sim_events.hh"
+#include "sim/sim_object.hh"
+#include "base/trace.hh"
 
 using namespace std;
 
 
 #include <list>
 #include <iostream>
 
-#include "host.hh"
-#include "configfile.hh"
+#include "sim/host.hh"
+#include "sim/configfile.hh"
 
 class IniFile;
 
 
 
 #include <string>
 
-#include "cpu.hh"
-#include "eventq.hh"
-#include "hostinfo.hh"
-#include "sim_events.hh"
-#include "sim_exit.hh"
-#include "sim_stats.hh"
+#include "cpu/full_cpu/cpu.hh"
+#include "sim/eventq.hh"
+#include "base/hostinfo.hh"
+#include "sim/sim_events.hh"
+#include "sim/sim_exit.hh"
+#include "sim/sim_stats.hh"
 
 using namespace std;
 
 
 #ifndef __SIM_EVENTS_HH__
 #define __SIM_EVENTS_HH__
 
-#include "eventq.hh"
+#include "sim/eventq.hh"
 
 //
 // Event to terminate simulation at a particular cycle/instruction
 
 
 #include <assert.h>
 
-#include "sim_object.hh"
-#include "inifile.hh"
-#include "configfile.hh"
-#include "host.hh"
-#include "misc.hh"
-#include "trace.hh"
-#include "sim_stats.hh"
+#include "sim/sim_object.hh"
+#include "base/inifile.hh"
+#include "sim/configfile.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+#include "base/trace.hh"
+#include "sim/sim_stats.hh"
 
 using namespace std;
 
 
 #include <vector>
 #include <iostream>
 
-#include "param.hh"
-#include "serialize.hh"
+#include "sim/param.hh"
+#include "sim/serialize.hh"
 
 /*
  * Abstract superclass for simulation objects.  Represents things that
 
 #include <time.h>
 #include <iostream>
 
-#include "sim_time.hh"
+#include "sim/sim_time.hh"
 
 using namespace std;
 
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "exec_context.hh"
-#include "object_file.hh"
-#include "memory_control.hh"
-#include "physical_memory.hh"
-#include "symtab.hh"
-#include "remote_gdb.hh"
-#include "vtophys.hh"
-#include "system.hh"
-#include "trace.hh"
+#include "cpu/exec_context.hh"
+#include "base/loader/object_file.hh"
+#include "mem/functional_mem/memory_control.hh"
+#include "mem/functional_mem/physical_memory.hh"
+#include "base/loader/symtab.hh"
+#include "base/remote_gdb.hh"
+#include "targetarch/vtophys.hh"
+#include "sim/system.hh"
+#include "base/trace.hh"
 
 using namespace std;
 
 
 
 #include <string>
 
-#include "sim_object.hh"
-#include "pc_event.hh"
-#include "symtab.hh"
+#include "sim/sim_object.hh"
+#include "cpu/pc_event.hh"
+#include "base/loader/symtab.hh"
 
 class MemoryController;
 class PhysicalMemory;
 
 #include <string>
 #include <vector>
 
-#include "universe.hh"
-#include "host.hh"
-#include "param.hh"
+#include "sim/universe.hh"
+#include "sim/host.hh"
+#include "sim/param.hh"
 
 using namespace std;
 
 
 #include <iostream.h>
 #include <unistd.h>
 
-#include "circlebuf.hh"
+#include "base/circlebuf.hh"
 
 char *strings[] =
 { "This is the first test\n",
 
 #include <string>
 #include <sstream>
 
-#include "cprintf.hh"
+#include "base/cprintf.hh"
 
 using namespace std;
 
 
 #include <string>
 #include <vector>
 
-#include "inifile.hh"
+#include "base/inifile.hh"
 
 char *progname;
 
 
 #include <vector>
 
 #include "ecoff.hh"
-#include "object_file.hh"
-#include "str.hh"
-#include "symtab.hh"
+#include "base/loader/object_file.hh"
+#include "base/str.hh"
+#include "base/loader/symtab.hh"
 
 Tick curTick;
 
 
 #include <sys/types.h>
 #include <stddef.h>
 #include <stdio.h>
-#include "pcireg.h"
+#include "dev/pcireg.h"
 
 int
 main()
 
 // to the sources list, then use configs/test.ini as the configuration
 // file.
 //
-#include "sim_object.hh"
-#include "cache.hh"
+#include "sim/sim_object.hh"
+#include "mem/cache/cache.hh"
 
 class ParamTest : public SimObject
 {
 
 #include <iostream>
 #include <string>
 
-#include "range.hh"
+#include "base/range.hh"
 
 
 int
 
 #include <string>
 #include <unistd.h>
 
-#include "cprintf.hh"
-#include "host.hh"
-#include "misc.hh"
-#include "statistics.hh"
+#include "base/cprintf.hh"
+#include "sim/host.hh"
+#include "base/misc.hh"
+#include "base/statistics.hh"
 
 using namespace std;
 using namespace Statistics;
 
 #include <string>
 #include <vector>
 
-#include "str.hh"
+#include "base/str.hh"
 
 int
 main(int argc, char *argv[])
 
 
 #include <iostream.h>
 
-#include "str.hh"
-#include "symtab.hh"
+#include "base/str.hh"
+#include "base/loader/symtab.hh"
 
 Tick curTick = 0;
 
 
 #include <string>
 #include <vector>
 
-#include "str.hh"
+#include "base/str.hh"
 
 int
 main(int argc, char *argv[])
 
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include "host.hh"
-#include "trace.hh"
+#include "sim/host.hh"
+#include "base/trace.hh"
 
 using namespace std;
 
 
 #include <list>
 #include <string>
 
-#include "cprintf.hh"
+#include "base/cprintf.hh"
 
 #define panic(arg...) \
   do { cprintf("Panic: " arg); exit(1); } while (0)