summaryrefslogtreecommitdiff
path: root/src/arch/sparc/system.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc/system.cc')
-rw-r--r--src/arch/sparc/system.cc54
1 files changed, 27 insertions, 27 deletions
diff --git a/src/arch/sparc/system.cc b/src/arch/sparc/system.cc
index ab5f7432e..9ce0a90de 100644
--- a/src/arch/sparc/system.cc
+++ b/src/arch/sparc/system.cc
@@ -48,13 +48,6 @@ SparcSystem::SparcSystem(Params *p)
nvramSymtab = new SymbolTable;
hypervisorDescSymtab = new SymbolTable;
partitionDescSymtab = new SymbolTable;
-}
-
-void
-SparcSystem::initState()
-{
- // Call the initialisation of the super class
- System::initState();
/**
* Load the boot code, and hypervisor into memory.
@@ -91,26 +84,6 @@ SparcSystem::initState()
fatal("Could not load partition description image %s",
params()->partition_desc_bin);
-
- // Load reset binary into memory
- reset->setTextBase(params()->reset_addr);
- reset->loadSections(physProxy);
- // Load the openboot binary
- openboot->setTextBase(params()->openboot_addr);
- openboot->loadSections(physProxy);
- // Load the hypervisor binary
- hypervisor->setTextBase(params()->hypervisor_addr);
- hypervisor->loadSections(physProxy);
- // Load the nvram image
- nvram->setTextBase(params()->nvram_addr);
- nvram->loadSections(physProxy);
- // Load the hypervisor description image
- hypervisor_desc->setTextBase(params()->hypervisor_desc_addr);
- hypervisor_desc->loadSections(physProxy);
- // Load the partition description image
- partition_desc->setTextBase(params()->partition_desc_addr);
- partition_desc->loadSections(physProxy);
-
// load symbols
if (!reset->loadGlobalSymbols(resetSymtab))
panic("could not load reset symbols\n");
@@ -154,6 +127,33 @@ SparcSystem::initState()
if (!partition_desc->loadLocalSymbols(debugSymbolTable))
panic("could not load partition description symbols\n");
+}
+
+void
+SparcSystem::initState()
+{
+ // Call the initialisation of the super class
+ System::initState();
+
+ // Load reset binary into memory
+ reset->setTextBase(params()->reset_addr);
+ reset->loadSections(physProxy);
+ // Load the openboot binary
+ openboot->setTextBase(params()->openboot_addr);
+ openboot->loadSections(physProxy);
+ // Load the hypervisor binary
+ hypervisor->setTextBase(params()->hypervisor_addr);
+ hypervisor->loadSections(physProxy);
+ // Load the nvram image
+ nvram->setTextBase(params()->nvram_addr);
+ nvram->loadSections(physProxy);
+ // Load the hypervisor description image
+ hypervisor_desc->setTextBase(params()->hypervisor_desc_addr);
+ hypervisor_desc->loadSections(physProxy);
+ // Load the partition description image
+ partition_desc->setTextBase(params()->partition_desc_addr);
+ partition_desc->loadSections(physProxy);
+
// @todo any fixup code over writing data in binaries on setting break
// events on functions should happen here.