summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorVince Bridgers <vbridger@opensource.altera.com>2014-08-28 06:59:43 -0500
committerVince Bridgers <vbridger@opensource.altera.com>2014-09-15 06:41:10 -0500
commit890e22efc69956237fc19baa75962db11df6e10e (patch)
tree81c9d9b96dde6edbee14b650aa1a0894247de5ca /arch
parentaf27b5421fa897d3e10620c26f3e12452758ec57 (diff)
downloadu-boot-socfpga-890e22efc69956237fc19baa75962db11df6e10e.tar.gz
Fogbugz #223877: Force globals into .data segment to compact memory footprintrel_socfpga_v2013.01.01_14.10.01_prrel_socfpga_v2013.01.01_14.09.02
Use linker directives to force certain global variables into .data segment instead of bss, so bss section is not used prior to u-boot relocation.. Signed-off-by: Vince Bridgers <vbridger@opensource.altera.com> --- V3: add more information to commit log V2: Change emails to opensource emails
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/socfpga/clock_manager.c6
-rw-r--r--arch/arm/include/asm/arch-socfpga/clock_manager.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/cpu/armv7/socfpga/clock_manager.c b/arch/arm/cpu/armv7/socfpga/clock_manager.c
index cb95c226d6..9ef39b8f81 100644
--- a/arch/arm/cpu/armv7/socfpga/clock_manager.c
+++ b/arch/arm/cpu/armv7/socfpga/clock_manager.c
@@ -39,9 +39,9 @@
CLKMGR_MAINPLLGRP_VCO_EN_SET(1)| \
CLKMGR_MAINPLLGRP_VCO_BGPWRDN_SET(0))
-unsigned long cm_l4_sp_clock;
-unsigned long cm_sdmmc_clock;
-unsigned long cm_qspi_clock;
+unsigned long cm_l4_sp_clock __attribute__((section(".data")));
+unsigned long cm_sdmmc_clock __attribute__((section(".data")));
+unsigned long cm_qspi_clock __attribute__((section(".data")));
static inline void cm_wait_for_lock(uint32_t mask)
{
diff --git a/arch/arm/include/asm/arch-socfpga/clock_manager.h b/arch/arm/include/asm/arch-socfpga/clock_manager.h
index be96b7f673..4ad10a8786 100644
--- a/arch/arm/include/asm/arch-socfpga/clock_manager.h
+++ b/arch/arm/include/asm/arch-socfpga/clock_manager.h
@@ -256,9 +256,9 @@ void cm_derive_clocks_for_drivers(void);
#ifndef __ASSEMBLY__
/* global variable which consume by drivers */
-extern unsigned long cm_l4_sp_clock;
-extern unsigned long cm_sdmmc_clock;
-extern unsigned long cm_qspi_clock;
+extern unsigned long cm_l4_sp_clock __attribute__((section(".data")));
+extern unsigned long cm_sdmmc_clock __attribute__((section(".data")));
+extern unsigned long cm_qspi_clock __attribute__((section(".data")));
#endif /* __ASSEMBLY__ */
/* Bypass Main and Per PLL, bypass source per input mux */