From: 黄涛 <huangtao@rock-chips.com>
Date: Wed, 8 Aug 2012 11:58:09 +0000 (+0800)
Subject: rk: sram: remove gap between code and data
X-Git-Tag: firefly_0821_release~8912^2~34
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=63a3712679d7b1f46aab1d8b028bb524cd476436;p=firefly-linux-kernel-4.4.55.git

rk: sram: remove gap between code and data
---

diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
index 29aef560359f..1a76c2ef2188 100644
--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -271,12 +271,6 @@ SECTIONS
 		__sram_code_start = .;
 	}
 
-	/*
-	 * Link these to the ITCM RAM
-	 * Put VMA to the TCM address and LMA to the common RAM
-	 * and we'll upload the contents from RAM to TCM and free
-	 * the used RAM after that.
-	 */
 	.text_sram_code SRAM_CODE_OFFSET : AT(__sram_code_start)
 	{
 		__ssram_code_text = .;
@@ -288,7 +282,7 @@ SECTIONS
 
 	/*
 	 * Reset the dot pointer, this is needed to create the
-	 * relative __dtcm_start below (to be used as extern in code).
+	 * relative __sram_data_start below (to be used as extern in code).
 	 */
 	. = ADDR(.sram_start) + SIZEOF(.sram_start) + SIZEOF(.text_sram_code);
 
@@ -297,7 +291,7 @@ SECTIONS
 	}
 
 	/* TODO: add remainder of ITCM as well, that can be used for data! */
-	.data_sram SRAM_DATA_OFFSET : AT(__sram_data_start)
+	.data_sram SRAM_CODE_OFFSET + SIZEOF(.text_sram_code) : AT(__sram_data_start)
 	{
 		. = ALIGN(4);
 		__ssram_data = .;
@@ -311,9 +305,10 @@ SECTIONS
 
 	/* End marker for freeing TCM copy in linked object */
 	.sram_end : AT(ADDR(.sram_data_start) + SIZEOF(.data_sram)){
-		. = ALIGN(PAGE_SIZE);
 		__sram_end = .;
 	}
+
+	. = ALIGN(PAGE_SIZE);
 #endif
 
 	NOTES