summaryrefslogtreecommitdiff
path: root/src/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc')
-rw-r--r--src/arch/sparc/process.hh6
-rw-r--r--src/arch/sparc/system.cc12
2 files changed, 8 insertions, 10 deletions
diff --git a/src/arch/sparc/process.hh b/src/arch/sparc/process.hh
index eeb267116..f8f19f290 100644
--- a/src/arch/sparc/process.hh
+++ b/src/arch/sparc/process.hh
@@ -78,8 +78,7 @@ class Sparc32Process : public SparcProcess
Sparc32Process(ProcessParams * params, ObjectFile *objFile)
: SparcProcess(params, objFile, 0)
{
- Addr brk_point = objFile->dataBase() + objFile->dataSize() +
- objFile->bssSize();
+ Addr brk_point = objFile->maxSegmentAddr();
brk_point = roundUp(brk_point, SparcISA::PageBytes);
// Reserve 8M for main stack.
@@ -123,8 +122,7 @@ class Sparc64Process : public SparcProcess
Sparc64Process(ProcessParams * params, ObjectFile *objFile)
: SparcProcess(params, objFile, 2047)
{
- Addr brk_point = objFile->dataBase() + objFile->dataSize() +
- objFile->bssSize();
+ Addr brk_point = objFile->maxSegmentAddr();
brk_point = roundUp(brk_point, SparcISA::PageBytes);
Addr max_stack_size = 8 * 1024 * 1024;
diff --git a/src/arch/sparc/system.cc b/src/arch/sparc/system.cc
index 5896061a6..e9615b00c 100644
--- a/src/arch/sparc/system.cc
+++ b/src/arch/sparc/system.cc
@@ -137,22 +137,22 @@ SparcSystem::initState()
System::initState();
// Load reset binary into memory
- reset->setTextBase(params()->reset_addr);
+ reset->setLoadOffset(params()->reset_addr);
reset->loadSegments(physProxy);
// Load the openboot binary
- openboot->setTextBase(params()->openboot_addr);
+ openboot->setLoadOffset(params()->openboot_addr);
openboot->loadSegments(physProxy);
// Load the hypervisor binary
- hypervisor->setTextBase(params()->hypervisor_addr);
+ hypervisor->setLoadOffset(params()->hypervisor_addr);
hypervisor->loadSegments(physProxy);
// Load the nvram image
- nvram->setTextBase(params()->nvram_addr);
+ nvram->setLoadOffset(params()->nvram_addr);
nvram->loadSegments(physProxy);
// Load the hypervisor description image
- hypervisor_desc->setTextBase(params()->hypervisor_desc_addr);
+ hypervisor_desc->setLoadOffset(params()->hypervisor_desc_addr);
hypervisor_desc->loadSegments(physProxy);
// Load the partition description image
- partition_desc->setTextBase(params()->partition_desc_addr);
+ partition_desc->setLoadOffset(params()->partition_desc_addr);
partition_desc->loadSegments(physProxy);