summaryrefslogtreecommitdiff
path: root/src/arch/arm
diff options
context:
space:
mode:
authorAli Saidi <Ali.Saidi@arm.com>2010-08-23 11:18:39 -0500
committerAli Saidi <Ali.Saidi@arm.com>2010-08-23 11:18:39 -0500
commitf2642e205549efefb7391de32b189e94e5503ddc (patch)
treea3572aa1e56a3d76012cccb7cd3b679e197c1e8f /src/arch/arm
parentd4e83a400189ef91a5b0f444c9c99d443cc1a251 (diff)
downloadgem5-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/arch/arm')
-rw-r--r--src/arch/arm/ArmSystem.py1
-rw-r--r--src/arch/arm/isa_traits.hh3
2 files changed, 1 insertions, 3 deletions
diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py
index 872776c69..a93730867 100644
--- a/src/arch/arm/ArmSystem.py
+++ b/src/arch/arm/ArmSystem.py
@@ -32,4 +32,5 @@ from System import System
class ArmSystem(System):
type = 'ArmSystem'
+ load_addr_mask = 0xffffffff
diff --git a/src/arch/arm/isa_traits.hh b/src/arch/arm/isa_traits.hh
index d81981ff7..2744ec753 100644
--- a/src/arch/arm/isa_traits.hh
+++ b/src/arch/arm/isa_traits.hh
@@ -91,9 +91,6 @@ namespace ArmISA
const Addr KSeg0Base = ULL(0x80000000);
const Addr KSeg0Mask = ULL(0x1FFFFFFF);
- // For loading... XXX This maybe could be USegEnd?? --ali
- const Addr LoadAddrMask = ULL(0xffffffffff);
-
const unsigned VABits = 32;
const unsigned PABits = 32; // Is this correct?
const Addr VAddrImplMask = (ULL(1) << VABits) - 1;