sim/main.cc
        sim/param.cc
        sim/profile.cc
+       sim/root.cc
        sim/serialize.cc
        sim/sim_events.cc
        sim/sim_exit.cc
        sim/stat_context.cc
        sim/stat_control.cc
        sim/trace_context.cc
-       sim/universe.cc
         ''')
 
 # MySql sources
 
 
 #include "arch/alpha/alpha_common_syscall_emul.hh"
 #include "sim/syscall_emul.hh"
-#include "sim/universe.hh"     // for curTick & ticksPerSecond
+#include "sim/root.hh" // for curTick & ticksPerSecond
 
 #include "arch/alpha/alpha_linux_process.hh"
 
 
 #include "arch/alpha/alpha_tru64_process.hh"
 
 #include "sim/syscall_emul.hh"
-#include "sim/universe.hh"     // for curTick & ticksPerSecond
+#include "sim/root.hh" // for curTick & ticksPerSecond
 
 #include "base/trace.hh"
 
 
 #include "base/output.hh"
 #include "base/trace.hh"
 #include "sim/host.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 #include "sim/host.hh"
 #include "base/misc.hh"
 #include "base/pollevent.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 #include "sim/serialize.hh"
 
 using namespace std;
 
 
 #include <vector>
 #include <poll.h>
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 class Checkpoint;
 
 
 #include "base/match.hh"
 #include "sim/host.hh"
 #include "sim/sim_object.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 #include "base/cprintf.hh"
 #include "base/match.hh"
 #include "sim/host.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 #ifndef TRACING_ON
 #ifndef NDEBUG
 
 #include "mem/mem_req.hh"
 #include "cpu/beta_cpu/fetch.hh"
 
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 template<class Impl>
 SimpleFetch<Impl>::CacheCompletionEvent
 
 #else
 #include "sim/process.hh"
 #endif
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 #include "cpu/beta_cpu/alpha_dyn_inst.hh"
 #include "cpu/beta_cpu/alpha_impl.hh"
 
 
 #include <vector>
 
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 #include "cpu/beta_cpu/inst_queue.hh"
 
 
 #include "cpu/exec_context.hh"
 #include "cpu/pc_event.hh"
 #include "sim/debug.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 
 #include <iostream>
 #include "cpu/static_inst.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 template <class ISA>
 StaticInstPtr<ISA> StaticInst<ISA>::nullStaticInstPtr;
 
 #include "dev/etherint.hh"
 #include "dev/etherpkt.hh"
 #include "sim/builder.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 #include "base/output.hh"
 #include "dev/etherdump.hh"
 #include "sim/builder.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using std::string;
 
 
 #include "sim/builder.hh"
 #include "sim/serialize.hh"
 #include "sim/system.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 #include "mem/bus/pio_interface_impl.hh"
 #include "sim/builder.hh"
 #include "sim/sim_object.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 #include "targetarch/isa_traits.hh"
 
 using namespace std;
 
 #include "mem/functional_mem/memory_control.hh"
 #include "sim/builder.hh"
 #include "sim/param.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 #include "dev/tsunamireg.h"
 
 using namespace std;
 
 #include "sim/config_node.hh"
 #include "sim/host.hh"
 #include "sim/sim_object.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 
 #include "sim/eventq.hh"
 #include "base/trace.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
 #include "sim/sim_object.hh"
 #include "sim/stat_control.hh"
 #include "sim/stats.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
--- /dev/null
+/*
+ * Copyright (c) 2002-2004 The Regents of The University of Michigan
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met: redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer;
+ * redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution;
+ * neither the name of the copyright holders nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <cstring>
+#include <fstream>
+#include <list>
+#include <string>
+#include <vector>
+
+#include "base/misc.hh"
+#include "base/output.hh"
+#include "sim/builder.hh"
+#include "sim/host.hh"
+#include "sim/sim_object.hh"
+#include "sim/root.hh"
+
+using namespace std;
+
+Tick curTick = 0;
+ostream *outputStream;
+ostream *configStream;
+
+/// The simulated frequency of curTick. (This is only here for a short time)
+Tick ticksPerSecond;
+
+namespace Clock {
+/// The simulated frequency of curTick. (In ticks per second)
+Tick Frequency;
+
+namespace Float {
+double s;
+double ms;
+double us;
+double ns;
+double ps;
+
+double Hz;
+double kHz;
+double MHz;
+double GHZ;
+/* namespace Float */ }
+
+namespace Int {
+Tick s;
+Tick ms;
+Tick us;
+Tick ns;
+Tick ps;
+/* namespace Float */ }
+
+/* namespace Clock */ }
+
+
+// Dummy Object
+class Root : public SimObject
+{
+  public:
+    Root(const std::string &name) : SimObject(name) {}
+};
+
+BEGIN_DECLARE_SIM_OBJECT_PARAMS(Root)
+
+    Param<Tick> clock;
+    Param<string> output_file;
+
+END_DECLARE_SIM_OBJECT_PARAMS(Root)
+
+BEGIN_INIT_SIM_OBJECT_PARAMS(Root)
+
+    INIT_PARAM(clock, "tick frequency"),
+    INIT_PARAM(output_file, "file to dump simulator output to")
+
+END_INIT_SIM_OBJECT_PARAMS(Root)
+
+CREATE_SIM_OBJECT(Root)
+{
+    static bool created = false;
+    if (created)
+        panic("only one root object allowed!");
+
+    created = true;
+
+    outputStream = simout.find(output_file);
+    Root *root = new Root(getInstanceName());
+
+    using namespace Clock;
+    Frequency = clock;
+    Float::s = static_cast<double>(Frequency);
+    Float::ms = Float::s / 1.0e3;
+    Float::us = Float::s / 1.0e6;
+    Float::ns = Float::s / 1.0e9;
+    Float::ps = Float::s / 1.0e12;
+
+    Float::Hz  = 1.0 / Float::s;
+    Float::kHz = 1.0 / Float::ms;
+    Float::MHz = 1.0 / Float::us;
+    Float::GHZ = 1.0 / Float::ns;
+
+    Int::s  = Frequency;
+    Int::ms = Int::s / 1000;
+    Int::us = Int::ms / 1000;
+    Int::ns = Int::us / 1000;
+    Int::ps = Int::ns / 1000;
+
+    return root;
+}
+
+REGISTER_SIM_OBJECT("Root", Root)
 
 #include "sim/eventq.hh"
 #include "sim/sim_object.hh"
 #include "sim/stat_control.hh"
-#include "sim/universe.hh"
+#include "sim/root.hh"
 
 using namespace std;
 
 
+++ /dev/null
-/*
- * Copyright (c) 2002-2004 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <cstring>
-#include <fstream>
-#include <list>
-#include <string>
-#include <vector>
-
-#include "base/misc.hh"
-#include "base/output.hh"
-#include "sim/builder.hh"
-#include "sim/host.hh"
-#include "sim/sim_object.hh"
-#include "sim/universe.hh"
-
-using namespace std;
-
-Tick curTick = 0;
-ostream *outputStream;
-ostream *configStream;
-
-/// The simulated frequency of curTick. (This is only here for a short time)
-Tick ticksPerSecond;
-
-namespace Clock {
-/// The simulated frequency of curTick. (In ticks per second)
-Tick Frequency;
-
-namespace Float {
-double s;
-double ms;
-double us;
-double ns;
-double ps;
-
-double Hz;
-double kHz;
-double MHz;
-double GHZ;
-/* namespace Float */ }
-
-namespace Int {
-Tick s;
-Tick ms;
-Tick us;
-Tick ns;
-Tick ps;
-/* namespace Float */ }
-
-/* namespace Clock */ }
-
-
-// Dummy Object
-class Root : public SimObject
-{
-  public:
-    Root(const std::string &name) : SimObject(name) {}
-};
-
-BEGIN_DECLARE_SIM_OBJECT_PARAMS(Root)
-
-    Param<Tick> clock;
-    Param<string> output_file;
-
-END_DECLARE_SIM_OBJECT_PARAMS(Root)
-
-BEGIN_INIT_SIM_OBJECT_PARAMS(Root)
-
-    INIT_PARAM(clock, "tick frequency"),
-    INIT_PARAM(output_file, "file to dump simulator output to")
-
-END_INIT_SIM_OBJECT_PARAMS(Root)
-
-CREATE_SIM_OBJECT(Root)
-{
-    static bool created = false;
-    if (created)
-        panic("only one root object allowed!");
-
-    created = true;
-
-    outputStream = simout.find(output_file);
-    Root *root = new Root(getInstanceName());
-
-    using namespace Clock;
-    Frequency = clock;
-    Float::s = static_cast<double>(Frequency);
-    Float::ms = Float::s / 1.0e3;
-    Float::us = Float::s / 1.0e6;
-    Float::ns = Float::s / 1.0e9;
-    Float::ps = Float::s / 1.0e12;
-
-    Float::Hz  = 1.0 / Float::s;
-    Float::kHz = 1.0 / Float::ms;
-    Float::MHz = 1.0 / Float::us;
-    Float::GHZ = 1.0 / Float::ns;
-
-    Int::s  = Frequency;
-    Int::ms = Int::s / 1000;
-    Int::us = Int::ms / 1000;
-    Int::ns = Int::us / 1000;
-    Int::ps = Int::ns / 1000;
-
-    return root;
-}
-
-REGISTER_SIM_OBJECT("Root", Root)