Deleted Added
sdiff udiff text old ( 3125:febd811bccc6 ) new ( 3202:c095cfd0da96 )
full compact
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;

--- 48 unchanged lines hidden (view full) ---

57class Platform;
58class GDBListener;
59class RemoteGDB;
60#endif
61
62class System : public SimObject
63{
64 public:
65 enum MemoryMode {
66 Invalid=0,
67 Atomic,
68 Timing
69 };
70
71 static const char *MemoryModeStrings[3];
72
73
74 MemoryMode getMemoryMode() { assert(memoryMode); return memoryMode; }
75
76 /** Change the memory mode of the system. This should only be called by the
77 * python!!
78 * @param mode Mode to change to (atomic/timing)
79 */
80 void setMemoryMode(MemoryMode mode);
81
82 PhysicalMemory *physmem;
83 PCEventQueue pcEventQueue;
84
85 std::vector<ThreadContext *> threadContexts;
86 int numcpus;
87
88 int getNumCPUs()

--- 32 unchanged lines hidden (view full) ---

121
122 int page_ptr;
123
124
125#endif // FULL_SYSTEM
126
127 protected:
128
129 MemoryMode memoryMode;
130
131#if FULL_SYSTEM
132 /**
133 * Fix up an address used to match PCs for hooking simulator
134 * events on to target function executions. See comment in
135 * system.cc for details.
136 */
137 virtual Addr fixFuncEventAddr(Addr addr) = 0;

--- 30 unchanged lines hidden (view full) ---

168 virtual bool breakpoint() = 0;
169#endif // FULL_SYSTEM
170
171 public:
172 struct Params
173 {
174 std::string name;
175 PhysicalMemory *physmem;
176 MemoryMode mem_mode;
177
178#if FULL_SYSTEM
179 Tick boot_cpu_frequency;
180 std::string boot_osflags;
181 uint64_t init_param;
182
183 std::string kernel_path;
184 std::string readfile;

--- 64 unchanged lines hidden ---