From 53679854bea00ba57d1a8c2f626cdd60364c39c3 Mon Sep 17 00:00:00 2001
From: Weiping Liao <weipingliao@google.com>
Date: Thu, 12 Jan 2017 18:12:20 -0800
Subject: [PATCH] config: Adjust load_addr_mask in VExpress_GEM5_V1

Fix load_addr_mask in VExpress_GEM5_V1 in order to boot with the 64-bit
kernel.

Change-Id: I13a0a752c60e53262a245cb24b16606071041397
Reviewed-on: https://gem5-review.googlesource.com/3643
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
---
 src/dev/arm/RealView.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/dev/arm/RealView.py b/src/dev/arm/RealView.py
index a2bac2bde..595020b8a 100644
--- a/src/dev/arm/RealView.py
+++ b/src/dev/arm/RealView.py
@@ -955,7 +955,9 @@ Interrupts:
         self.nvmem.port = mem_bus.master
         cur_sys.boot_loader = [ loc('boot_emm.arm64'), loc('boot_emm.arm') ]
         cur_sys.atags_addr = 0x8000000
-        cur_sys.load_addr_mask = 0xfffffff
+        # the old load_add_mask 0xfffffff works for 32-bit kernel
+        # but not the 64-bit one. The new value 0x7ffffff works for both
+        cur_sys.load_addr_mask = 0x7ffffff
         cur_sys.load_offset = 0x80000000
 
         #  Setup m5ops. It's technically not a part of the boot
-- 
2.30.2