summaryrefslogtreecommitdiff
path: root/src/arch/alpha
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/alpha')
-rw-r--r--src/arch/alpha/process.cc11
-rw-r--r--src/arch/alpha/system.cc6
2 files changed, 4 insertions, 13 deletions
diff --git a/src/arch/alpha/process.cc b/src/arch/alpha/process.cc
index e266b92b2..9311a6415 100644
--- a/src/arch/alpha/process.cc
+++ b/src/arch/alpha/process.cc
@@ -54,10 +54,10 @@ AlphaProcess::AlphaProcess(ProcessParams *params, ObjectFile *objFile)
objFile)
{
fatal_if(params->useArchPT, "Arch page tables not implemented.");
- Addr brk_point = roundUp(objFile->maxSegmentAddr(), PageBytes);
+ Addr brk_point = roundUp(image.maxAddr(), PageBytes);
// Set up stack. On Alpha, stack goes below the image.
- Addr stack_base = objFile->minSegmentAddr() - (409600 + 4096);
+ Addr stack_base = image.minAddr() - (409600 + 4096);
// Set up region for mmaps.
Addr mmap_end = 0x10000;
@@ -74,13 +74,6 @@ AlphaProcess::AlphaProcess(ProcessParams *params, ObjectFile *objFile)
void
AlphaProcess::argsInit(int intSize, int pageSize)
{
- // Patch the ld_bias for dynamic executables.
- updateBias();
-
- objFile->loadSegments(initVirtMem);
- if (objFile->getInterpreter())
- objFile->getInterpreter()->loadSegments(initVirtMem);
-
std::vector<AuxVector<uint64_t>> auxv;
ElfObject * elfObject = dynamic_cast<ElfObject *>(objFile);
diff --git a/src/arch/alpha/system.cc b/src/arch/alpha/system.cc
index 31e7aa062..a7a47036a 100644
--- a/src/arch/alpha/system.cc
+++ b/src/arch/alpha/system.cc
@@ -57,13 +57,11 @@ AlphaSystem::AlphaSystem(Params *p)
*/
// Load Console Code
console = createObjectFile(params()->console);
- console->setLoadMask(loadAddrMask);
if (console == NULL)
fatal("Could not load console file %s", params()->console);
// Load pal file
pal = createObjectFile(params()->pal);
- pal->setLoadMask(loadAddrMask);
if (pal == NULL)
fatal("Could not load PALcode file %s", params()->pal);
@@ -111,8 +109,8 @@ AlphaSystem::initState()
System::initState();
// Load program sections into memory
- pal->loadSegments(physProxy);
- console->loadSegments(physProxy);
+ pal->buildImage().mask(loadAddrMask).write(physProxy);
+ console->buildImage().mask(loadAddrMask).write(physProxy);
/**
* Copy the osflags (kernel arguments) into the consoles