root.cc (4167:ce5d0f62f13b) | root.cc (4762:c94e103c83ad) |
---|---|
1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 22 unchanged lines hidden (view full) --- 31 32#include <cstring> 33#include <fstream> 34#include <list> 35#include <string> 36#include <vector> 37 38#include "base/misc.hh" | 1/* 2 * Copyright (c) 2002-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 22 unchanged lines hidden (view full) --- 31 32#include <cstring> 33#include <fstream> 34#include <list> 35#include <string> 36#include <vector> 37 38#include "base/misc.hh" |
39#include "sim/builder.hh" | 39#include "params/Root.hh" |
40#include "sim/sim_object.hh" 41 42// Dummy Object 43struct Root : public SimObject 44{ | 40#include "sim/sim_object.hh" 41 42// Dummy Object 43struct Root : public SimObject 44{ |
45 Root(const std::string &name) : SimObject(name) {} | 45 Root(RootParams *params) : SimObject(params) {} |
46}; 47 | 46}; 47 |
48BEGIN_DECLARE_SIM_OBJECT_PARAMS(Root) 49 50 Param<int> dummy; // needed below 51 52END_DECLARE_SIM_OBJECT_PARAMS(Root) 53 54BEGIN_INIT_SIM_OBJECT_PARAMS(Root) 55 56 INIT_PARAM(dummy, "") // All SimObjects must have params 57 58END_INIT_SIM_OBJECT_PARAMS(Root) 59 60CREATE_SIM_OBJECT(Root) | 48Root * 49RootParams::create() |
61{ 62 static bool created = false; 63 if (created) 64 panic("only one root object allowed!"); 65 66 created = true; 67 | 50{ 51 static bool created = false; 52 if (created) 53 panic("only one root object allowed!"); 54 55 created = true; 56 |
68 return new Root(getInstanceName()); | 57 return new Root(this); |
69} | 58} |
70 71REGISTER_SIM_OBJECT("Root", Root) | |