diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-03-03 14:24:15 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-03-03 14:24:15 -0500 |
commit | 0bf25c595364f7ca9b5e632c84fcf0d35dc3490a (patch) | |
tree | 2bb67579d3c562ee23990dcc8d889feece7177e3 /sim/system.hh | |
parent | 51647e7bec8e8607fc5713b4ace2c24ce8a7455a (diff) | |
download | gem5-0bf25c595364f7ca9b5e632c84fcf0d35dc3490a.tar.xz |
First cut at moving alpha specefic stuff out of /sim/system* into
arch/alpha/system*.
SConscript:
dev/alpha_console.cc:
dev/alpha_console.hh:
kern/freebsd/freebsd_system.cc:
kern/freebsd/freebsd_system.hh:
kern/kernel_stats.cc:
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
sim/pseudo_inst.cc:
sim/system.cc:
sim/system.hh:
First cut at moving alpha specefic stuff out of /sim/system*
--HG--
extra : convert_revision : eba58f537fc04e605af4fc216e184b074a44c8a0
Diffstat (limited to 'sim/system.hh')
-rw-r--r-- | sim/system.hh | 55 |
1 files changed, 10 insertions, 45 deletions
diff --git a/sim/system.hh b/sim/system.hh index aa697c040..ea482a102 100644 --- a/sim/system.hh +++ b/sim/system.hh @@ -71,21 +71,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; @@ -97,11 +85,6 @@ class System : public SimObject Kernel::Binning *kernelBinning; -#ifndef NDEBUG - /** Event to halt the simulator if the console calls panic() */ - BreakPCEvent *consolePanicEvent; -#endif - protected: /** @@ -109,7 +92,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 @@ -135,24 +118,10 @@ 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); - } - public: std::vector<RemoteGDB *> remoteGDB; std::vector<GDBListener *> gdbListen; - bool breakpoint(); + virtual bool breakpoint() = 0; public: struct Params @@ -167,27 +136,21 @@ 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; }; - Params *params; + protected: + Params *_params; + + public: System(Params *p); ~System(); void startup(); - public: - /** - * Set the m5AlphaAccess pointer in the console - */ - void setAlphaAccess(Addr access); + const Params *params() const { return (const Params *)_params; } + public: /** * Returns the addess the kernel starts at. * @return address the kernel starts at @@ -224,6 +187,8 @@ class System : public SimObject static int numSystemsRunning; static void printSystems(); + + }; #endif // __SYSTEM_HH__ |