diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-07-13 15:48:17 -0400 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-07-13 15:48:17 -0400 |
commit | c368ff0bd8d36ba001f523bd03f56f99d9ecd452 (patch) | |
tree | 0cd7ccb7fb5846745e86d2d8f332acf79b73a0fa /src/sim | |
parent | 2bc9229ea7195b307222bad6de966ea4a27a3f6b (diff) | |
download | gem5-c368ff0bd8d36ba001f523bd03f56f99d9ecd452.tar.xz |
add system.mem_mode = ['timing', 'atomic']
update scripts acordingly
configs/test/SysPaths.py:
new syspaths from nate, this one allows you to set script, binary, and disk paths like
system.dir = 'aouaou' in your script
configs/test/fs.py:
update for system mem_mode
Put small checkpoint example
Make clock 1THz
configs/test/test.py:
src/arch/alpha/freebsd/system.cc:
src/arch/alpha/linux/system.cc:
src/arch/alpha/system.cc:
src/arch/alpha/tru64/system.cc:
src/arch/sparc/system.cc:
src/python/m5/objects/System.py:
src/sim/system.cc:
src/sim/system.hh:
update for system mem_mode
src/dev/io_device.cc:
Use time returned from sendAtomic to delay
--HG--
extra : convert_revision : 67eedb3c84ab2584613faf88a534e793926fc92f
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/system.cc | 11 | ||||
-rw-r--r-- | src/sim/system.hh | 3 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/sim/system.cc b/src/sim/system.cc index 2780d0fda..ad70b9b03 100644 --- a/src/sim/system.cc +++ b/src/sim/system.cc @@ -63,7 +63,7 @@ System::System(Params *p) #else page_ptr(0), #endif - _params(p) + memoryMode(p->mem_mode), _params(p) { // add self to global system list systemList.push_back(this); @@ -257,6 +257,9 @@ printSystems() System::printSystems(); } +const char *System::MemoryModeStrings[3] = {"invalid", "atomic", + "timing"}; + #if FULL_SYSTEM // In full system mode, only derived classes (e.g. AlphaLinuxSystem) @@ -269,12 +272,15 @@ DEFINE_SIM_OBJECT_CLASS_NAME("System", System) BEGIN_DECLARE_SIM_OBJECT_PARAMS(System) SimObjectParam<PhysicalMemory *> physmem; + SimpleEnumParam<System::MemoryMode> mem_mode; END_DECLARE_SIM_OBJECT_PARAMS(System) BEGIN_INIT_SIM_OBJECT_PARAMS(System) - INIT_PARAM(physmem, "physical memory") + INIT_PARAM(physmem, "physical memory"), + INIT_ENUM_PARAM(mem_mode, "Memory Mode, (1=atomic, 2=timing)", + System::MemoryModeStrings) END_INIT_SIM_OBJECT_PARAMS(System) @@ -283,6 +289,7 @@ CREATE_SIM_OBJECT(System) System::Params *p = new System::Params; p->name = getInstanceName(); p->physmem = physmem; + p->mem_mode = mem_mode; return new System(p); } diff --git a/src/sim/system.hh b/src/sim/system.hh index 77777aed4..a1b53c2eb 100644 --- a/src/sim/system.hh +++ b/src/sim/system.hh @@ -67,6 +67,8 @@ class System : public SimObject Timing }; + static const char *MemoryModeStrings[3]; + MemoryMode getMemoryMode() { assert(memoryMode); return memoryMode; } @@ -170,6 +172,7 @@ class System : public SimObject { std::string name; PhysicalMemory *physmem; + MemoryMode mem_mode; #if FULL_SYSTEM Tick boot_cpu_frequency; |