SE/FS: Make some system funcs available in SE and FS.

This commit is contained in:
Gabe Black 2011-10-16 05:06:40 -07:00
parent 464c485d0c
commit ca36c01f7e
2 changed files with 8 additions and 20 deletions

View file

@ -65,14 +65,12 @@ vector<System *> System::systemList;
int System::numSystemsRunning = 0;
System::System(Params *p)
: SimObject(p), physmem(p->physmem), _numContexts(0),
: SimObject(p), physmem(p->physmem), _numContexts(0), pagePtr(0),
#if FULL_SYSTEM
init_param(p->init_param),
loadAddrMask(p->load_addr_mask),
#else
pagePtr(0),
nextPID(0),
#endif
nextPID(0),
memoryMode(p->mem_mode),
workItemsBegin(0),
workItemsEnd(0),
@ -273,7 +271,6 @@ System::replaceThreadContext(ThreadContext *tc, int context_id)
remoteGDB[context_id]->replaceThreadContext(tc);
}
#if !FULL_SYSTEM
Addr
System::new_page()
{
@ -296,8 +293,6 @@ System::freeMemSize()
return physmem->size() - (pagePtr << LogVMPageSize);
}
#endif
bool
System::isMemory(const Addr addr) const
{
@ -321,10 +316,9 @@ System::serialize(ostream &os)
{
#if FULL_SYSTEM
kernelSymtab->serialize("kernel_symtab", os);
#else // !FULL_SYSTEM
#endif
SERIALIZE_SCALAR(pagePtr);
SERIALIZE_SCALAR(nextPID);
#endif
}
@ -333,10 +327,9 @@ System::unserialize(Checkpoint *cp, const string &section)
{
#if FULL_SYSTEM
kernelSymtab->unserialize("kernel_symtab", cp, section);
#else // !FULL_SYSTEM
#endif
UNSERIALIZE_SCALAR(pagePtr);
UNSERIALIZE_SCALAR(nextPID);
#endif
}
void

View file

@ -113,6 +113,8 @@ class System : public SimObject
*/
bool isMemory(const Addr addr) const;
Addr pagePtr;
#if FULL_SYSTEM
uint64_t init_param;
@ -144,9 +146,7 @@ class System : public SimObject
*/
Addr loadAddrMask;
#else
Addr pagePtr;
#endif // FULL_SYSTEM
protected:
uint64_t nextPID;
@ -163,9 +163,6 @@ class System : public SimObject
/** Amount of physical memory that exists */
Addr memSize();
#endif // FULL_SYSTEM
protected:
Enums::MemoryMode memoryMode;
uint64_t workItemsBegin;
@ -284,12 +281,10 @@ class System : public SimObject
*/
Addr getKernelEntry() const { return kernelEntry; }
#else
#endif
Addr new_page();
#endif // FULL_SYSTEM
int registerThreadContext(ThreadContext *tc, int assigned=-1);
void replaceThreadContext(ThreadContext *tc, int context_id);