48c48
< #include "mem/se_translating_port_proxy.hh"
---
> #include "mem/translating_port.hh"
80,88d79
< //
< // The purpose of this code is to fake the loader & syscall mechanism
< // when there's no OS: thus there's no resone to use it in FULL_SYSTEM
< // mode when we do have an OS
< //
< #if FULL_SYSTEM
< #error "process.cc not compatible with FULL_SYSTEM"
< #endif
<
99,100c90,91
< template struct AuxVector<uint32_t>;
< template struct AuxVector<uint64_t>;
---
> template class AuxVector<uint32_t>;
> template class AuxVector<uint64_t>;
172c163
< pTable = new PageTable(name(), M5_pid);
---
> pTable = new PageTable(this);
247,248c238,243
< initVirtMem = new SETranslatingPortProxy(*system->getSystemPort(), this,
< SETranslatingPortProxy::Always);
---
> Port *mem_port;
> mem_port = system->physmem->getPort("functional");
> initVirtMem = new TranslatingPort("process init port", this,
> TranslatingPort::Always);
> mem_port->setPeer(initVirtMem);
> initVirtMem->setPeer(mem_port);
327,334d321
< void
< Process::allocateMem(Addr vaddr, int64_t size, bool clobber)
< {
< int npages = divCeil(size, (int64_t)VMPageSize);
< Addr paddr = system->allocPhysPages(npages);
< pTable->map(vaddr, paddr, size, clobber);
< }
<
341c328
< allocateMem(roundDown(vaddr, VMPageSize), VMPageSize);
---
> pTable->allocate(roundDown(vaddr, VMPageSize), VMPageSize);
354c341
< allocateMem(stack_min, TheISA::PageBytes);
---
> pTable->allocate(stack_min, TheISA::PageBytes);
358a346,347
> warn("Not extending stack: address %#x isn't at the end of the stack.",
> vaddr);
583a573
> #if !FULL_SYSTEM
590a581
> #endif
615a607
> #if !FULL_SYSTEM
725a718
> #endif
727d719
<