summaryrefslogtreecommitdiff
path: root/sim/system.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-09 18:35:28 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-09 18:35:28 -0500
commit872bbdfc33cb82bf32576db3a57d3055a04acbac (patch)
tree837dd214bd682ac7efa515b18857bec7d4d35bef /sim/system.hh
parent3adb45144aca819c9796168ecde7a263169d9d4d (diff)
parent7b283dbc090d1197593b00fd1279b92f7c2e693e (diff)
downloadgem5-872bbdfc33cb82bf32576db3a57d3055a04acbac.tar.xz
Hand merge. Stuff probably doesn't compile.
--HG-- rename : arch/alpha/isa_desc => arch/alpha/isa/main.isa rename : arch/alpha/alpha_linux_process.cc => arch/alpha/linux/process.cc rename : arch/alpha/alpha_linux_process.hh => arch/alpha/linux/process.hh rename : arch/alpha/alpha_tru64_process.cc => arch/alpha/tru64/process.cc rename : arch/alpha/alpha_tru64_process.hh => arch/alpha/tru64/process.hh rename : cpu/exec_context.cc => cpu/cpu_exec_context.cc rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh extra : convert_revision : 7d1efcedd708815d985a951f6f010fbd83dc27e8
Diffstat (limited to 'sim/system.hh')
-rw-r--r--sim/system.hh55
1 files changed, 10 insertions, 45 deletions
diff --git a/sim/system.hh b/sim/system.hh
index 8922373cc..cbe876c42 100644
--- a/sim/system.hh
+++ b/sim/system.hh
@@ -78,21 +78,9 @@ class System : public SimObject
/** kernel symbol table */
SymbolTable *kernelSymtab;
- /** console symbol table */
- SymbolTable *consoleSymtab;
-
- /** pal symbol table */
- SymbolTable *palSymtab;
-
/** Object pointer for the kernel code */
ObjectFile *kernel;
- /** Object pointer for the console code */
- ObjectFile *console;
-
- /** Object pointer for the PAL code */
- ObjectFile *pal;
-
/** Begining of kernel code */
Addr kernelStart;
@@ -104,11 +92,6 @@ class System : public SimObject
Kernel::Binning *kernelBinning;
-#ifdef DEBUG
- /** Event to halt the simulator if the console calls panic() */
- BreakPCEvent *consolePanicEvent;
-#endif
-
#else
int page_ptr;
@@ -123,7 +106,7 @@ class System : public SimObject
* events on to target function executions. See comment in
* system.cc for details.
*/
- Addr fixFuncEventAddr(Addr addr);
+ virtual Addr fixFuncEventAddr(Addr addr) = 0;
/**
* Add a function-based event to the given function, to be looked
@@ -150,26 +133,12 @@ class System : public SimObject
return addFuncEvent<T>(kernelSymtab, lbl);
}
- /** Add a function-based event to PALcode. */
- template <class T>
- T *System::addPalFuncEvent(const char *lbl)
- {
- return addFuncEvent<T>(palSymtab, lbl);
- }
-
- /** Add a function-based event to the console code. */
- template <class T>
- T *System::addConsoleFuncEvent(const char *lbl)
- {
- return addFuncEvent<T>(consoleSymtab, lbl);
- }
#endif
-
public:
#if FULL_SYSTEM
std::vector<RemoteGDB *> remoteGDB;
std::vector<GDBListener *> gdbListen;
- bool breakpoint();
+ virtual bool breakpoint() = 0;
#endif // FULL_SYSTEM
public:
@@ -187,31 +156,25 @@ class System : public SimObject
bool bin_int;
std::string kernel_path;
- std::string console_path;
- std::string palcode;
- std::string boot_osflags;
-
std::string readfile;
- uint64_t system_type;
- uint64_t system_rev;
#endif
};
- Params *params;
+ protected:
+ Params *_params;
+
+ public:
System(Params *p);
~System();
void startup();
+ const Params *params() const { return (const Params *)_params; }
+
public:
#if FULL_SYSTEM
/**
- * Set the m5AlphaAccess pointer in the console
- */
- void setAlphaAccess(Addr access);
-
- /**
* Returns the addess the kernel starts at.
* @return address the kernel starts at
*/
@@ -253,6 +216,8 @@ class System : public SimObject
static int numSystemsRunning;
static void printSystems();
+
+
};
#endif // __SYSTEM_HH__