diff options
author | Ali Saidi <Ali.Saidi@arm.com> | 2010-08-23 11:18:39 -0500 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@arm.com> | 2010-08-23 11:18:39 -0500 |
commit | f2642e205549efefb7391de32b189e94e5503ddc (patch) | |
tree | a3572aa1e56a3d76012cccb7cd3b679e197c1e8f /src/sim/system.cc | |
parent | d4e83a400189ef91a5b0f444c9c99d443cc1a251 (diff) | |
download | gem5-f2642e205549efefb7391de32b189e94e5503ddc.tar.xz |
Loader: Make the load address mask be a parameter of the system rather than a constant.
This allows one two different OS requirements for the same ISA to be handled.
Some OSes are compiled for a virtual address and need to be loaded into physical
memory that starts at address 0, while other bare metal tools generate
images that start at address 0.
Diffstat (limited to 'src/sim/system.cc')
-rw-r--r-- | src/sim/system.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sim/system.cc b/src/sim/system.cc index c7f5b2d08..45e06616d 100644 --- a/src/sim/system.cc +++ b/src/sim/system.cc @@ -66,6 +66,7 @@ System::System(Params *p) init_param(p->init_param), functionalPort(p->name + "-fport"), virtPort(p->name + "-vport"), + loadAddrMask(p->load_addr_mask), #else page_ptr(0), next_PID(0), @@ -109,7 +110,7 @@ System::System(Params *p) fatal("Could not load kernel file %s", params()->kernel); // Load program sections into memory - kernel->loadSections(&functionalPort, LoadAddrMask); + kernel->loadSections(&functionalPort, loadAddrMask); // setup entry points kernelStart = kernel->textBase(); |