From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA
Date: Wed, 8 Sep 2010 12:56:10 +0100 [thread overview]
Message-ID: <20100908115609.GA32659@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20100908091113.GB29914@n2100.arm.linux.org.uk>
On Wed, Sep 08, 2010 at 10:11:13AM +0100, Russell King - ARM Linux wrote:
> On Fri, Sep 03, 2010 at 09:23:29PM +0200, Uwe Kleine-K?nig wrote:
> > Hello,
> >
> > On Fri, Sep 03, 2010 at 12:19:26PM -0700, Erik Gilling wrote:
> > > On Fri, Sep 3, 2010 at 12:01 PM, Uwe Kleine-K?nig
> > > > (hmm, I thought that patches that touch common files like
> > > > arch/arm/Kconfig should go via rmk?!)
> > >
> > > I looked and saw that others (specifically samsung) had submitted this
> > > fix directly to Linus. I'm still learning the ropes here and am happy
> > > to hear some clarification either way.
> >
> > Note that just me wondering if it's right doesn't necessarily means it's
> > not. Russell, can you comment? Is it trivial enough and obviously only
> > tegra related that it's OK?
>
> The problem happens when there's related changes already in others git
> trees which clash or conflict with those changes.
>
> This whole CONFIG_ZRELADDR thing seems like a step backwards towards a
> situation where we will get conflicts with multiple changes - but without
> gaining anything substantial in moving away from Makefile.boot.
>
> Unless someone can come up with a real justification for CONFIG_ZRELADDR
> I'm mindful to revert it. (But - if people have sent these changes to
> Linus already, that's going to make reverting it a lot harder.)
This is what I'm considering committing to sort out this ZRELADDR mess -
it gives people who want AUTO_ZRELADDR their pie, while allowing us to
keep the proven reliability of original method of handling ZRELADDR.
arch/arm/Kconfig | 90 -------------------------------------
arch/arm/boot/Makefile | 8 ++-
arch/arm/boot/compressed/Makefile | 4 ++
arch/arm/boot/compressed/head.S | 2 +-
4 files changed, 10 insertions(+), 94 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a7ed21f..553b7cf 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1576,96 +1576,6 @@ config AUTO_ZRELADDR
0xf8000000. This assumes the zImage being placed in the first 128MB
from start of memory.
-config ZRELADDR
- hex "Physical address of the decompressed kernel image"
- depends on !AUTO_ZRELADDR
- default 0x00008000 if ARCH_BCMRING ||\
- ARCH_CNS3XXX ||\
- ARCH_DOVE ||\
- ARCH_EBSA110 ||\
- ARCH_FOOTBRIDGE ||\
- ARCH_INTEGRATOR ||\
- ARCH_IOP13XX ||\
- ARCH_IOP33X ||\
- ARCH_IXP2000 ||\
- ARCH_IXP23XX ||\
- ARCH_IXP4XX ||\
- ARCH_KIRKWOOD ||\
- ARCH_KS8695 ||\
- ARCH_LOKI ||\
- ARCH_MMP ||\
- ARCH_MV78XX0 ||\
- ARCH_NOMADIK ||\
- ARCH_NUC93X ||\
- ARCH_NS9XXX ||\
- ARCH_ORION5X ||\
- ARCH_SPEAR3XX ||\
- ARCH_SPEAR6XX ||\
- ARCH_U8500 ||\
- ARCH_VERSATILE ||\
- ARCH_W90X900
- default 0x08008000 if ARCH_MX1 ||\
- ARCH_SHARK
- default 0x10008000 if ARCH_MSM ||\
- ARCH_OMAP1 ||\
- ARCH_RPC
- default 0x20008000 if ARCH_S5P6440 ||\
- ARCH_S5P6442 ||\
- ARCH_S5PC100 ||\
- ARCH_S5PV210
- default 0x30008000 if ARCH_S3C2410 ||\
- ARCH_S3C2400 ||\
- ARCH_S3C2412 ||\
- ARCH_S3C2416 ||\
- ARCH_S3C2440 ||\
- ARCH_S3C2443
- default 0x40008000 if ARCH_STMP378X ||\
- ARCH_STMP37XX ||\
- ARCH_SH7372 ||\
- ARCH_SH7377 ||\
- ARCH_S5PV310
- default 0x50008000 if ARCH_S3C64XX ||\
- ARCH_SH7367
- default 0x60008000 if ARCH_VEXPRESS
- default 0x80008000 if ARCH_MX25 ||\
- ARCH_MX3 ||\
- ARCH_NETX ||\
- ARCH_OMAP2PLUS ||\
- ARCH_PNX4008
- default 0x90008000 if ARCH_MX5 ||\
- ARCH_MX91231
- default 0xa0008000 if ARCH_IOP32X ||\
- ARCH_PXA ||\
- MACH_MX27
- default 0xc0008000 if ARCH_LH7A40X ||\
- MACH_MX21
- default 0xf0008000 if ARCH_AAEC2000 ||\
- ARCH_L7200
- default 0xc0028000 if ARCH_CLPS711X
- default 0x70008000 if ARCH_AT91 && (ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
- default 0x20008000 if ARCH_AT91 && !(ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
- default 0xc0008000 if ARCH_DAVINCI && ARCH_DAVINCI_DA8XX
- default 0x80008000 if ARCH_DAVINCI && !ARCH_DAVINCI_DA8XX
- default 0x00008000 if ARCH_EP93XX && EP93XX_SDCE3_SYNC_PHYS_OFFSET
- default 0xc0008000 if ARCH_EP93XX && EP93XX_SDCE0_PHYS_OFFSET
- default 0xd0008000 if ARCH_EP93XX && EP93XX_SDCE1_PHYS_OFFSET
- default 0xe0008000 if ARCH_EP93XX && EP93XX_SDCE2_PHYS_OFFSET
- default 0xf0008000 if ARCH_EP93XX && EP93XX_SDCE3_ASYNC_PHYS_OFFSET
- default 0x00008000 if ARCH_GEMINI && GEMINI_MEM_SWAP
- default 0x10008000 if ARCH_GEMINI && !GEMINI_MEM_SWAP
- default 0x70008000 if ARCH_REALVIEW && REALVIEW_HIGH_PHYS_OFFSET
- default 0x00008000 if ARCH_REALVIEW && !REALVIEW_HIGH_PHYS_OFFSET
- default 0xc0208000 if ARCH_SA1100 && SA1111
- default 0xc0008000 if ARCH_SA1100 && !SA1111
- default 0x30108000 if ARCH_S3C2410 && PM_H1940
- default 0x28E08000 if ARCH_U300 && MACH_U300_SINGLE_RAM
- default 0x48008000 if ARCH_U300 && !MACH_U300_SINGLE_RAM
- help
- ZRELADDR is the physical address where the decompressed kernel
- image will be placed. ZRELADDR has to be specified when the
- assumption of AUTO_ZRELADDR is not valid, or when ZBOOT_ROM is
- selected.
-
endmenu
menu "CPU Power Management"
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
index f705213..4a590f4 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -14,16 +14,18 @@
MKIMAGE := $(srctree)/scripts/mkuboot.sh
ifneq ($(MACHINE),)
--include $(srctree)/$(MACHINE)/Makefile.boot
+include $(srctree)/$(MACHINE)/Makefile.boot
endif
# Note: the following conditions must always be true:
+# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
# PARAMS_PHYS must be within 4MB of ZRELADDR
# INITRD_PHYS must be in RAM
+ZRELADDR := $(zreladdr-y)
PARAMS_PHYS := $(params_phys-y)
INITRD_PHYS := $(initrd_phys-y)
-export INITRD_PHYS PARAMS_PHYS
+export ZRELADDR INITRD_PHYS PARAMS_PHYS
targets := Image zImage xipImage bootpImage uImage
@@ -65,7 +67,7 @@ quiet_cmd_uimage = UIMAGE $@
ifeq ($(CONFIG_ZBOOT_ROM),y)
$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
else
-$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR)
+$(obj)/uImage: LOADADDR=$(ZRELADDR)
endif
ifeq ($(CONFIG_THUMB2_KERNEL),y)
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 68775e3..b23f6bc 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -79,6 +79,10 @@ endif
EXTRA_CFLAGS := -fpic -fno-builtin
EXTRA_AFLAGS := -Wa,-march=all
+# Supply ZRELADDR to the decompressor via a linker symbol.
+ifneq ($(CONFIG_AUTO_ZRELADDR),y)
+LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR)
+endif
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
LDFLAGS_vmlinux += --be8
endif
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 6af9907..6825c34 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -177,7 +177,7 @@ not_angel:
and r4, pc, #0xf8000000
add r4, r4, #TEXT_OFFSET
#else
- ldr r4, =CONFIG_ZRELADDR
+ ldr r4, =zreladdr
#endif
subs r0, r0, r1 @ calculate the delta offset
next prev parent reply other threads:[~2010-09-08 11:56 UTC|newest]
Thread overview: 133+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao
2010-06-03 7:36 ` [PATCH 1/5] [ARM] Remove unused PARAMS_PHYS from arch/arm/boot/compressed Eric Miao
2010-06-10 8:48 ` Uwe Kleine-König
2010-06-03 7:36 ` [PATCH 2/5] [ARM] Remove unused INITRD_PHYS " Eric Miao
2010-06-10 8:27 ` Uwe Kleine-König
2010-06-10 9:55 ` Eric Miao
2010-06-03 7:36 ` [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option Eric Miao
2010-06-10 8:50 ` Uwe Kleine-König
2010-06-10 9:45 ` Eric Miao
2010-06-10 10:00 ` Uwe Kleine-König
2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao
2010-06-07 8:51 ` Tony Lindgren
2010-06-07 15:12 ` Marek Vasut
2010-06-08 6:12 ` Eric Miao
2010-06-10 9:00 ` Uwe Kleine-König
2010-06-10 9:16 ` Russell King - ARM Linux
2010-06-10 9:35 ` Uwe Kleine-König
2010-06-10 9:38 ` Eric Miao
2010-06-10 9:43 ` Uwe Kleine-König
2010-06-10 9:47 ` Eric Miao
2010-06-10 9:18 ` Eric Miao
2010-06-10 9:58 ` Uwe Kleine-König
2010-06-10 10:20 ` Eric Miao
2010-06-10 22:06 ` Linus Walleij
2010-06-10 22:23 ` Linus Walleij
2010-06-11 1:34 ` Eric Miao
2010-06-10 18:40 ` Nicolas Pitre
2010-06-10 22:17 ` Linus Walleij
2010-06-11 6:37 ` Uwe Kleine-König
2010-06-17 19:33 ` Russell King - ARM Linux
2010-06-11 4:27 ` srinidhi
2010-09-02 21:21 ` Russell King - ARM Linux
2010-09-02 21:27 ` Russell King - ARM Linux
2010-09-03 7:48 ` Uwe Kleine-König
2010-09-03 9:55 ` Uwe Kleine-König
2010-09-03 9:56 ` [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA Uwe Kleine-König
2010-09-03 17:46 ` Erik Gilling
2010-09-03 19:01 ` Uwe Kleine-König
2010-09-03 19:19 ` Erik Gilling
2010-09-03 19:23 ` Uwe Kleine-König
2010-09-08 9:11 ` Russell King - ARM Linux
2010-09-08 11:56 ` Russell King - ARM Linux [this message]
2010-09-08 12:16 ` Uwe Kleine-König
2010-09-08 22:07 ` Russell King - ARM Linux
2010-09-09 7:24 ` Uwe Kleine-König
2010-09-09 16:56 ` Erik Gilling
2010-09-03 9:56 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr Uwe Kleine-König
2010-09-03 13:39 ` Eric Miao
2010-09-03 18:53 ` Uwe Kleine-König
2010-09-14 8:08 ` Paul Mundt
2010-09-14 12:23 ` Uwe Kleine-König
2010-09-03 9:56 ` [PATCH 3/7] ARM: specify ZRELADDR for ARCH_H720X Uwe Kleine-König
2010-09-03 13:40 ` Eric Miao
2010-09-03 9:56 ` [PATCH 4/7] ARM: specify ZRELADDR for ARCH_LPC32XX Uwe Kleine-König
2010-09-03 13:41 ` Eric Miao
2010-09-03 9:56 ` [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users Uwe Kleine-König
2010-09-03 13:30 ` Eric Miao
2010-09-03 18:53 ` Uwe Kleine-König
2010-09-04 8:52 ` Eric Miao
2010-09-07 22:39 ` Mathieu Rondonneau
2010-09-08 5:04 ` Uwe Kleine-König
2010-09-03 9:56 ` [PATCH 6/7] ARM: fix ordering of defaults for config ZRELADDR Uwe Kleine-König
2010-09-03 9:56 ` [PATCH 7/7] ARM: removed unused zreladdr specifications in all Makefile.boot files Uwe Kleine-König
2010-09-03 15:01 ` Eric Miao
2010-09-03 18:48 ` [PATCH 7/7 v2] " Uwe Kleine-König
2010-09-03 20:46 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-König
2010-09-05 18:52 ` Uwe Kleine-König
2010-09-08 9:14 ` Russell King - ARM Linux
2010-09-08 9:11 ` Russell King - ARM Linux
2010-09-08 20:31 ` Robert Schwebel
2010-09-03 13:33 ` Eric Miao
2010-06-03 7:36 ` [PATCH 5/5] [ARM] Move inclusion of Makefile.boot into arch/arm/boot/bootp Eric Miao
2010-06-10 9:01 ` Uwe Kleine-König
2010-06-03 7:43 ` [PATCH 0/5] Makefile.boot cleanup Eric Miao
2010-06-03 8:00 ` Uwe Kleine-König
2010-06-03 8:27 ` Eric Miao
2010-06-03 7:57 ` Uwe Kleine-König
2010-06-10 18:44 ` Nicolas Pitre
2010-06-11 4:55 ` Uwe Kleine-König
2010-06-17 19:22 ` Nicolas Pitre
2010-06-18 1:31 ` Eric Miao
2010-06-18 2:30 ` Eric Miao
2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König
2010-06-10 10:27 ` [PATCH 01/10] arm/zImage: don't hard code the stack size twice Uwe Kleine-König
2010-06-10 10:31 ` Eric Miao
2010-06-10 18:47 ` Nicolas Pitre
2010-06-10 10:27 ` [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on Uwe Kleine-König
2010-06-10 21:36 ` Sergei Shtylyov
2010-06-16 3:16 ` Eric Miao
2010-06-16 9:19 ` Russell King - ARM Linux
2010-06-10 10:27 ` [PATCH 03/10] arm/zImage: __armv3_mpu_cache_flush: respect should-be-zero specification Uwe Kleine-König
2010-06-11 1:23 ` Eric Miao
2010-06-10 10:27 ` [PATCH 04/10] arm/zImage: fix comments for cache_on, cache_off and cache_clean_flush Uwe Kleine-König
2010-06-17 9:28 ` Eric Miao
2010-06-10 10:27 ` [PATCH 05/10] arm/zImage: annotate debug functions about corrupted registers Uwe Kleine-König
2010-06-17 9:37 ` Eric Miao
2010-06-17 9:49 ` Uwe Kleine-König
2010-06-10 10:27 ` [PATCH 06/10] arm: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König
2010-06-17 9:50 ` Eric Miao
2010-06-10 10:27 ` [PATCH 07/10] arm/zImage: don't define unused symbol initrd_phys Uwe Kleine-König
2010-06-17 9:19 ` Eric Miao
2010-06-10 10:27 ` [PATCH 08/10] arm: deprecate support for old way to pass kernel parameters Uwe Kleine-König
2010-06-17 9:58 ` Eric Miao
2010-06-17 23:00 ` Russell King - ARM Linux
2010-06-10 10:27 ` [PATCH 09/10] arm/uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET Uwe Kleine-König
2010-06-10 10:27 ` [PATCH 10/10] arm: Allow PHYS_OFFSET to be runtime determined Uwe Kleine-König
2010-06-10 10:28 ` [PATCH 0/10] cleanup in early boot code Eric Miao
2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 01/11] ARM: zImage: don't hard code the stack size twice Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 02/11] ARM: zImage: some comments for __armv3_mpu_cache_on Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 03/11] ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 04/11] ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 05/11] ARM: zImage: annotate debug functions about corrupted registers Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 06/11] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König
2010-07-05 15:36 ` Nicolas Pitre
2010-07-05 14:15 ` [PATCH 07/11] ARM: zImage: don't define unused symbol initrd_phys Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 08/11] ARM: deprecate support for old way to pass kernel parameters Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 09/11] ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET Uwe Kleine-König
2010-07-05 16:03 ` Nicolas Pitre
2010-07-05 14:15 ` [PATCH 10/11] ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed Uwe Kleine-König
2010-07-05 14:15 ` [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-König
2010-07-05 15:31 ` Nicolas Pitre
2010-07-06 2:09 ` Eric Miao
2010-07-31 15:54 ` Russell King - ARM Linux
2010-07-31 17:44 ` Nicolas Pitre
2010-08-02 8:42 ` [PATCH] ARM: don't expose CONFIG_ZRELADDR to the users Uwe Kleine-König
2010-07-07 14:45 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König
2010-07-07 15:54 ` Nicolas Pitre
2010-07-08 7:08 ` Uwe Kleine-König
2010-07-08 20:49 ` Nicolas Pitre
2010-07-10 9:16 ` Eric Miao
2010-07-21 8:20 ` Uwe Kleine-König
2010-07-29 16:17 ` Git pull request, was " Nicolas Pitre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100908115609.GA32659@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).