public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] [NEXT] Make STANDALONE_LOAD_ADDR configurable per board
@ 2011-02-04 13:25 Wolfgang Denk
  2011-04-12 19:21 ` Wolfgang Denk
  2011-04-17  2:52 ` [U-Boot] [PATCH] nios2: " Thomas Chou
  0 siblings, 2 replies; 4+ messages in thread
From: Wolfgang Denk @ 2011-02-04 13:25 UTC (permalink / raw)
  To: u-boot

Rename STANDALONE_LOAD_ADDR into CONFIG_STANDALONE_LOAD_ADDR
and allow that the architecture-specific default value gets
overwritten by defining the value in the board header file.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: Tsi Chung Liew <tsi-chung.liew@freescale.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
Note that some architectures (blackfin, coldfire, mips, sh, sparc)
misuse the CONFIG_STANDALONE_LOAD_ADDR variable to not only specify
the load address (as the name suggests), but also to supply additional
linker options:

arch/blackfin/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
arch/m68k/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 -L $(clibdir)
arch/mips/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
arch/sh/config.mk:CONFIG_STANDALONE_LOAD_ADDR += -EB
arch/sparc/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) -T sparc.lds

Please clean this up!  Thanks   -- wd

 README                       |    8 ++++++++
 arch/arm/config.mk           |    8 +++-----
 arch/avr32/config.mk         |    2 +-
 arch/blackfin/config.mk      |    2 +-
 arch/i386/config.mk          |    2 +-
 arch/m68k/config.mk          |    2 +-
 arch/microblaze/config.mk    |    2 +-
 arch/mips/config.mk          |    2 +-
 arch/powerpc/config.mk       |    2 +-
 arch/sh/config.mk            |    4 ++--
 arch/sparc/config.mk         |    2 +-
 examples/standalone/Makefile |    2 +-
 include/configs/omap2420h4.h |    2 ++
 13 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/README b/README
index 755d17c..e8567c7 100644
--- a/README
+++ b/README
@@ -1952,6 +1952,14 @@ The following options need to be configured:
 		example, some LED's) on your board. At the moment,
 		the following checkpoints are implemented:
 
+- Standalone program support:
+		CONFIG_STANDALONE_LOAD_ADDR
+
+		This option allows to define board specific values
+		for the address where standalone program gets loaded,
+		thus overwriting the architecutre dependent default
+		settings.
+
 Legacy uImage format:
 
   Arg	Where			When
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index a6a4742..fcc26a2 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -23,13 +23,11 @@
 
 CROSS_COMPILE ?= arm-linux-
 
-ifeq ($(BOARD),omap2420h4)
-STANDALONE_LOAD_ADDR = 0x80300000
-else
+ifndef CONFIG_STANDALONE_LOAD_ADDR
 ifeq ($(SOC),omap3)
-STANDALONE_LOAD_ADDR = 0x80300000
+CONFIG_STANDALONE_LOAD_ADDR = 0x80300000
 else
-STANDALONE_LOAD_ADDR = 0xc100000
+CONFIG_STANDALONE_LOAD_ADDR = 0xc100000
 endif
 endif
 
diff --git a/arch/avr32/config.mk b/arch/avr32/config.mk
index 1121ca1..9488c49 100644
--- a/arch/avr32/config.mk
+++ b/arch/avr32/config.mk
@@ -23,7 +23,7 @@
 
 CROSS_COMPILE ?= avr32-linux-
 
-STANDALONE_LOAD_ADDR = 0x00000000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000
 
 PLATFORM_RELFLAGS	+= -ffixed-r5 -fPIC -mno-init-got -mrelax
 PLATFORM_LDFLAGS	+= --relax
diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk
index 0cba294..441c23e 100644
--- a/arch/blackfin/config.mk
+++ b/arch/blackfin/config.mk
@@ -23,7 +23,7 @@
 
 CROSS_COMPILE ?= bfin-uclinux-
 
-STANDALONE_LOAD_ADDR = 0x1000 -m elf32bfin
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
 
 CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
 
diff --git a/arch/i386/config.mk b/arch/i386/config.mk
index 3fb97c1..27ac3de 100644
--- a/arch/i386/config.mk
+++ b/arch/i386/config.mk
@@ -23,7 +23,7 @@
 
 CROSS_COMPILE ?= i386-linux-
 
-STANDALONE_LOAD_ADDR = 0x40000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
 
 PLATFORM_CPPFLAGS += -fno-strict-aliasing
 PLATFORM_CPPFLAGS += -Wstrict-prototypes
diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk
index 749c389..863f3dd 100644
--- a/arch/m68k/config.mk
+++ b/arch/m68k/config.mk
@@ -24,7 +24,7 @@
 CROSS_COMPILE ?= m68k-elf-
 
 clibdir = $(shell dirname `$(CC) $(CFLAGS) -print-file-name=libc.a`)
-STANDALONE_LOAD_ADDR = 0x20000 -L $(clibdir)
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 -L $(clibdir)
 
 PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__
 PLATFORM_LDFLAGS  += -n
diff --git a/arch/microblaze/config.mk b/arch/microblaze/config.mk
index c3c9f95..abea70b 100644
--- a/arch/microblaze/config.mk
+++ b/arch/microblaze/config.mk
@@ -26,6 +26,6 @@
 
 CROSS_COMPILE ?= mb-
 
-STANDALONE_LOAD_ADDR = 0x80F00000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000
 
 PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index aa06761..318d34b 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -23,7 +23,7 @@
 
 CROSS_COMPILE ?= mips_4KC-
 
-STANDALONE_LOAD_ADDR = 0x80200000 -T mips.lds
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
 
 PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
 
diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk
index 64191c7..fa24131 100644
--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -23,7 +23,7 @@
 
 CROSS_COMPILE ?= ppc_8xx-
 
-STANDALONE_LOAD_ADDR = 0x40000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
 LDFLAGS_u-boot = --gc-sections
 PLATFORM_RELFLAGS += -mrelocatable -ffunction-sections -fdata-sections
 PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__
diff --git a/arch/sh/config.mk b/arch/sh/config.mk
index 4ef85e3..41ac8f8 100644
--- a/arch/sh/config.mk
+++ b/arch/sh/config.mk
@@ -23,9 +23,9 @@
 
 CROSS_COMPILE ?= sh4-linux-
 
-STANDALONE_LOAD_ADDR = 0x8C000000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x8C000000
 ifeq ($(CPU),sh2)
-STANDALONE_LOAD_ADDR += -EB
+CONFIG_STANDALONE_LOAD_ADDR += -EB
 endif
 
 PLATFORM_CPPFLAGS += -DCONFIG_SH -D__SH__
diff --git a/arch/sparc/config.mk b/arch/sparc/config.mk
index 4de6515..cae7478 100644
--- a/arch/sparc/config.mk
+++ b/arch/sparc/config.mk
@@ -23,6 +23,6 @@
 
 CROSS_COMPILE ?= sparc-elf-
 
-STANDALONE_LOAD_ADDR = 0x00000000 -L $(gcclibdir) -T sparc.lds
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) -T sparc.lds
 
 PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__
diff --git a/examples/standalone/Makefile b/examples/standalone/Makefile
index c1dfdce..66b5d24 100644
--- a/examples/standalone/Makefile
+++ b/examples/standalone/Makefile
@@ -95,7 +95,7 @@ $(LIB):	$(obj).depend $(LIBOBJS)
 
 $(ELF):
 $(obj)%:	$(obj)%.o $(LIB)
-		$(LD) -g -Ttext $(STANDALONE_LOAD_ADDR) \
+		$(LD) -g -Ttext $(CONFIG_STANDALONE_LOAD_ADDR) \
 			-o $@ -e $(SYM_PREFIX)$(notdir $(<:.o=)) $< $(LIB) \
 			-L$(gcclibdir) -lgcc
 
diff --git a/include/configs/omap2420h4.h b/include/configs/omap2420h4.h
index 7161ab1..2888c7b 100644
--- a/include/configs/omap2420h4.h
+++ b/include/configs/omap2420h4.h
@@ -38,6 +38,8 @@
 /*#define CONFIG_APTIX           1    #* define if on APTIX test chip */
 /*#define CONFIG_VIRTIO          1    #* Using Virtio simulator */
 
+#define CONFIG_STANDALONE_LOAD_ADDR	0x80300000
+
 /* Clock config to target*/
 #define PRCM_CONFIG_II	1
 /* #define PRCM_CONFIG_III		1 */
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] [NEXT] Make STANDALONE_LOAD_ADDR configurable per board
  2011-02-04 13:25 [U-Boot] [PATCH] [NEXT] Make STANDALONE_LOAD_ADDR configurable per board Wolfgang Denk
@ 2011-04-12 19:21 ` Wolfgang Denk
  2011-04-17  2:52 ` [U-Boot] [PATCH] nios2: " Thomas Chou
  1 sibling, 0 replies; 4+ messages in thread
From: Wolfgang Denk @ 2011-04-12 19:21 UTC (permalink / raw)
  To: u-boot

Dear Wolfgang Denk,

In message <1296825917-31025-1-git-send-email-wd@denx.de> you wrote:
> Rename STANDALONE_LOAD_ADDR into CONFIG_STANDALONE_LOAD_ADDR
> and allow that the architecture-specific default value gets
> overwritten by defining the value in the board header file.
> 
> Signed-off-by: Wolfgang Denk <wd@denx.de>
> Cc: Mike Frysinger <vapier@gentoo.org>
> Cc: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
> Cc: Daniel Hellstrom <daniel@gaisler.com>
> Cc: Tsi Chung Liew <tsi-chung.liew@freescale.com>
> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
> ---
> Note that some architectures (blackfin, coldfire, mips, sh, sparc)
> misuse the CONFIG_STANDALONE_LOAD_ADDR variable to not only specify
> the load address (as the name suggests), but also to supply additional
> linker options:
> 
> arch/blackfin/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
> arch/m68k/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 -L $(clibdir)
> arch/mips/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
> arch/sh/config.mk:CONFIG_STANDALONE_LOAD_ADDR += -EB
> arch/sparc/config.mk:CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) -T sparc.lds
> 
> Please clean this up!  Thanks   -- wd


Applied.

[Custodians: please re-read the note!]

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Operating-system software is the program that  orchestrates  all  the
basic functions of a computer.
- The Wall Street Journal, Tuesday, September 15, 1987, page 40

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] nios2: Make STANDALONE_LOAD_ADDR configurable per board
  2011-02-04 13:25 [U-Boot] [PATCH] [NEXT] Make STANDALONE_LOAD_ADDR configurable per board Wolfgang Denk
  2011-04-12 19:21 ` Wolfgang Denk
@ 2011-04-17  2:52 ` Thomas Chou
  2011-05-13 12:34   ` Scott McNutt
  1 sibling, 1 reply; 4+ messages in thread
From: Thomas Chou @ 2011-04-17  2:52 UTC (permalink / raw)
  To: u-boot

Follow commit 8ae86b76c648d8bef97241c78e2fddb1c4f164d3
which changed the variable name.

Fix this error,
nios2-elf-ld: invalid hex number `-o'

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
for u-boot

 arch/nios2/config.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk
index d241a96..6890018 100644
--- a/arch/nios2/config.mk
+++ b/arch/nios2/config.mk
@@ -24,7 +24,7 @@
 
 CROSS_COMPILE ?= nios2-elf-
 
-STANDALONE_LOAD_ADDR ?= 0x02000000
+CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000
 
 PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__
 PLATFORM_CPPFLAGS += -G0
-- 
1.7.1.86.g0e460

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [U-Boot] [PATCH] nios2: Make STANDALONE_LOAD_ADDR configurable per board
  2011-04-17  2:52 ` [U-Boot] [PATCH] nios2: " Thomas Chou
@ 2011-05-13 12:34   ` Scott McNutt
  0 siblings, 0 replies; 4+ messages in thread
From: Scott McNutt @ 2011-05-13 12:34 UTC (permalink / raw)
  To: u-boot

Thomas,

Applied to git://git.denx.de/u-boot-nios.git next

Thanks,
--Scott

Thomas Chou wrote:
> Follow commit 8ae86b76c648d8bef97241c78e2fddb1c4f164d3
> which changed the variable name.
> 
> Fix this error,
> nios2-elf-ld: invalid hex number `-o'
> 
> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
> ---
> for u-boot
> 
>  arch/nios2/config.mk |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk
> index d241a96..6890018 100644
> --- a/arch/nios2/config.mk
> +++ b/arch/nios2/config.mk
> @@ -24,7 +24,7 @@
>  
>  CROSS_COMPILE ?= nios2-elf-
>  
> -STANDALONE_LOAD_ADDR ?= 0x02000000
> +CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000
>  
>  PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__
>  PLATFORM_CPPFLAGS += -G0

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-05-13 12:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-04 13:25 [U-Boot] [PATCH] [NEXT] Make STANDALONE_LOAD_ADDR configurable per board Wolfgang Denk
2011-04-12 19:21 ` Wolfgang Denk
2011-04-17  2:52 ` [U-Boot] [PATCH] nios2: " Thomas Chou
2011-05-13 12:34   ` Scott McNutt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox