diff options
author | Nathan Binkert <binkertn@umich.edu> | 2003-10-14 16:53:52 -0400 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2003-10-14 16:53:52 -0400 |
commit | 638a07d15a149b48c854b58e2b3f4df097aa5e2e (patch) | |
tree | 82ac6aa2e2df719eeb2c8b6d319c4c7956bbc6b1 /sim/system.hh | |
parent | 2ac3dc5aa184da9fa08a304c67d646197ed9a7c5 (diff) | |
parent | 4759c203c774ef42a2a35832e220a95cffb5fa7b (diff) | |
download | gem5-638a07d15a149b48c854b58e2b3f4df097aa5e2e.tar.xz |
Merge
cpu/pc_event.cc:
SCCS merged
--HG--
extra : convert_revision : f7046f2bf6053be9b00150390fabe3d4f82b0981
Diffstat (limited to 'sim/system.hh')
-rw-r--r-- | sim/system.hh | 53 |
1 files changed, 11 insertions, 42 deletions
diff --git a/sim/system.hh b/sim/system.hh index 830e78f4a..bec1011ce 100644 --- a/sim/system.hh +++ b/sim/system.hh @@ -30,6 +30,7 @@ #define __SYSTEM_HH__ #include <string> +#include <vector> #include "sim/sim_object.hh" #include "cpu/pc_event.hh" @@ -44,67 +45,35 @@ class ExecContext; class System : public SimObject { - private: - - SymbolTable *kernelSymtab; - SymbolTable *consoleSymtab; - - BreakPCEvent kernel_panic_event; - BreakPCEvent console_panic_event; - BadAddrEvent badaddr_event; - SkipFuncEvent skip_power_state; - SkipFuncEvent skip_scavenge_boot; - PrintfEvent printf_event; - DebugPrintfEvent debug_printf_event; - DebugPrintfEvent debug_printfr_event; - DumpMbufEvent dump_mbuf_event; - - RegFile *initRegs; - - Addr kernelStart; - Addr kernelEnd; - Addr kernelEntry; - public: - MemoryController *memCtrl; PhysicalMemory *physmem; PCEventQueue pcEventQueue; - ExecContext *xc_array[12/*MAX_CPUS*/]; - int num_cpus; - - RemoteGDB *remoteGDB; - GDBListener *gdbListen; - - System(const std::string name, - MemoryController *, PhysicalMemory *, - const std::string &kernel_path, const std::string &console_path, - const std::string &palcode, const std::string &boot_osflags); + std::vector<ExecContext *> xcvec; + void registerExecContext(ExecContext *xc); + public: + System(const std::string name, MemoryController *, PhysicalMemory *); ~System(); - const SymbolTable *getKernelSymtab() const { return kernelSymtab; } - const SymbolTable *getConsoleSymtab() const { return consoleSymtab; } + virtual void init(ExecContext *xc) = 0; - Addr getKernelStart() const { return kernelStart; } - Addr getKernelEnd() const { return kernelEnd; } - Addr getKernelEntry() const { return kernelEntry; } + virtual Addr getKernelStart() const = 0; + virtual Addr getKernelEnd() const = 0; + virtual Addr getKernelEntry() const = 0; + virtual bool breakpoint() = 0; - void initBootContext(ExecContext *xc); - void registerExecContext(ExecContext *xc); + public: //////////////////////////////////////////// // // STATIC GLOBAL SYSTEM LIST // //////////////////////////////////////////// - public: - static std::vector<System *> systemList; - static int numSystemsRunning; static void printSystems(); |