* [PATCH 0/5] Makefile.boot cleanup @ 2010-06-03 7:36 Eric Miao 2010-06-03 7:36 ` [PATCH 1/5] [ARM] Remove unused PARAMS_PHYS from arch/arm/boot/compressed Eric Miao ` (8 more replies) 0 siblings, 9 replies; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel Several facts: 1. ZRELADDR in most cases can be auto detected by maksing PC with 0xf000_0000 if the zImage is placed within the first 256MiB from the memory start, which is a sane assumption except for: - when ARCH_MX1 or ARCH_SHARK is defined - when ARCH_U300 is defined (U300 really is strange when defining PHYS_OFFSET and ZRELADDR) - or when ZBOOT_ROM is defined 2. For the exceptions above or those situations where ZRELADDR still needs to be specified, an option CONFIG_ZRELADDR is provided. So if there is conflict when mutliple machines are selected (in the near future), things can be manually fixed by menuconfig, instead of playing tricks with Makefile. 3. INITRD_PHYS and PARAMS_PHYS are really used only for bootpImage, and references in arch/arm/boot/compressed can be safely removed I've listed most of the zreladdr-y found in each Makefile.boot and made them default value in CONFIG_ZRELADDR, but still there could be mistakes. Please kindly try and report back, thanks. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/5] [ARM] Remove unused PARAMS_PHYS from arch/arm/boot/compressed 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao @ 2010-06-03 7:36 ` 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 ` (7 subsequent siblings) 8 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.y.miao@gmail.com> The only reference in arch/arm/boot/compressed to PARAMS_PHYS is params() in head.S, which can be directly converted to the exact address as specified by arch/arm/mach-rpc/Makefile.boot. Signed-off-by: Eric Miao <eric.miao@canonical.com> --- arch/arm/boot/compressed/Makefile | 7 ++----- arch/arm/boot/compressed/head.S | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 53faa90..b58a589 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -79,8 +79,8 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via -# linker symbols. We only define initrd_phys and params_phys if the +# Supply ZRELADDR, INITRD_PHYS to the decompressor via +# linker symbols. We only define initrd_phys if the # machine class defined the corresponding makefile variable. LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) @@ -89,9 +89,6 @@ endif ifneq ($(INITRD_PHYS),) LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) endif -ifneq ($(PARAMS_PHYS),) -LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) -endif # ? LDFLAGS_vmlinux += -p # Report unresolved symbol references diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index c5191b1..0765990 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -321,7 +321,7 @@ LC1: .word reloc_end - reloc_start #ifdef CONFIG_ARCH_RPC .globl params -params: ldr r0, =params_phys +params: ldr r0, =0x10000100 @ params_phys for RPC mov pc, lr .ltorg .align -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 1/5] [ARM] Remove unused PARAMS_PHYS from arch/arm/boot/compressed 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 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 8:48 UTC (permalink / raw) To: linux-arm-kernel Hallo, On Thu, Jun 03, 2010 at 03:36:49PM +0800, Eric Miao wrote: > From: Eric Miao <eric.y.miao@gmail.com> > > The only reference in arch/arm/boot/compressed to PARAMS_PHYS is > params() in head.S, which can be directly converted to the exact > address as specified by arch/arm/mach-rpc/Makefile.boot. > > Signed-off-by: Eric Miao <eric.miao@canonical.com> Acked-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> So params_phys-y is only used in arch/arm/boot/bootp. Is this still used? It doesn't check r2 for finding the atag list but only uses params_phys-y. So according to Keith's fail-safe method for the removal of cruft[1] bootp can be deleted. (Unless I didn't see that the kernel still finds the atag list at params_phys-y if r2 isn't pointing to the correct address.) (OK, if r2 and params_phys-y agree, it could still work.) Who cares to fix bootp? Should we delete it? Best regards Uwe [1] 1. promise that there will be long-term support. 2. Realize failure. 3. "Accidentally" break things in the code. 4. Let a few years go by, and note that nobody has complained about the broken features. 5. Remove the code since it is obviously not being used. -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/5] [ARM] Remove unused INITRD_PHYS from arch/arm/boot/compressed 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-03 7:36 ` Eric Miao 2010-06-10 8:27 ` Uwe Kleine-König 2010-06-03 7:36 ` [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option Eric Miao ` (6 subsequent siblings) 8 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel From: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Original patch from Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Signed-off-by: Eric Miao <eric.miao@canonical.com> --- arch/arm/boot/compressed/Makefile | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index b58a589..dbd3fe8 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -79,16 +79,11 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR, INITRD_PHYS to the decompressor via -# linker symbols. We only define initrd_phys if the -# machine class defined the corresponding makefile variable. +# Supply ZRELADDR to the decompressor via linker symbols. LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -ifneq ($(INITRD_PHYS),) -LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) -endif # ? LDFLAGS_vmlinux += -p # Report unresolved symbol references -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 2/5] [ARM] Remove unused INITRD_PHYS from arch/arm/boot/compressed 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 8:27 UTC (permalink / raw) To: linux-arm-kernel Hello, On Thu, Jun 03, 2010 at 03:36:50PM +0800, Eric Miao wrote: > From: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > Original patch from Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > Signed-off-by: Eric Miao <eric.miao@canonical.com> The patch is OK, but the commit log of my patch was (IMHO) better. Something like: Only arch/arm/boot/bootp/init.S uses initrd_phys, so there is no need to pass it in arch/arm/boot/compressed. And I would prefer not to have this "Original patch from ..." in the commit log. Do you use it because the patch system doesn't offer to specify the author of a commit? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/5] [ARM] Remove unused INITRD_PHYS from arch/arm/boot/compressed 2010-06-10 8:27 ` Uwe Kleine-König @ 2010-06-10 9:55 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-10 9:55 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hello, > > On Thu, Jun 03, 2010 at 03:36:50PM +0800, Eric Miao wrote: >> From: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> >> >> Original patch from Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>. >> >> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> >> Signed-off-by: Eric Miao <eric.miao@canonical.com> > The patch is OK, but the commit log of my patch was (IMHO) better. > Something like: > > Only arch/arm/boot/bootp/init.S uses initrd_phys, so there is no need to > pass it in arch/arm/boot/compressed. > OK. > And I would prefer not to have this "Original patch from ..." in the > commit log. ?Do you use it because the patch system doesn't offer to > specify the author of a commit? It's actually a common practice by many other who I cannot remember. But yeah, it's there because I need to remind me it's not my patch and don't get the author wrong :-) ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option 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-03 7:36 ` [PATCH 2/5] [ARM] Remove unused INITRD_PHYS " Eric Miao @ 2010-06-03 7:36 ` Eric Miao 2010-06-10 8:50 ` Uwe Kleine-König 2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao ` (5 subsequent siblings) 8 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.y.miao@gmail.com> Signed-off-by: Eric Miao <eric.miao@canonical.com> --- arch/arm/Kconfig | 13 +++++++++++++ arch/arm/Makefile | 13 +------------ arch/arm/kernel/Makefile | 4 ++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1f254bd..e340193 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1484,6 +1484,19 @@ config ATAGS_PROC Should the atags used to boot the kernel be exported in an "atags" file in procfs. Useful with kexec. +config TEXT_OFFSET + hex "Offset of the kernel image from the start of RAM" + default 0x00008000 + default 0x00028000 if ARCH_CLPS711X + # We don't want the htc bootloader to corrupt kernel during resume + default 0x00108000 if PM_H1940 + # SA1111 DMA bug: we don't want the kernel to live in precious + # DMA-able memory + default 0x00208000 if (ARCH_SA1100 && SA1111) + help + TEXT_OFFSET is the offset of the decompressed kernel image from + memory start. Currently, it is expected the least significant 16 + bits to be 0x8000, so to leave space for the initial page table. endmenu menu "CPU Power Management" diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 64ba313..df8f73d 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -108,14 +108,6 @@ CHECKFLAGS += -D__arm__ #Default value head-y := arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.o -textofs-y := 0x00008000 -textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 -# We don't want the htc bootloader to corrupt kernel during resume -textofs-$(CONFIG_PM_H1940) := 0x00108000 -# SA1111 DMA bug: we don't want the kernel to live in precious DMA-able memory -ifeq ($(CONFIG_ARCH_SA1100),y) -textofs-$(CONFIG_SA1111) := 0x00208000 -endif # Machine directory name. This list is sorted alphanumerically # by CONFIG_* macro name. @@ -209,9 +201,6 @@ CFLAGS_3c589_cs.o :=-DISA_SIXTEEN_BIT_PERIPHERAL export CFLAGS_3c589_cs.o endif -# The byte offset of the kernel image in RAM from the start of RAM. -TEXT_OFFSET := $(textofs-y) - # The first directory contains additional information for the boot setup code ifneq ($(machine-y),) MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ @@ -228,7 +217,7 @@ else KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) endif -export TEXT_OFFSET GZFLAGS MMUEXT +export GZFLAGS MMUEXT # Do we have FASTFPE? FASTFPE :=arch/arm/fastfpe diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 26d302c..50a0d7e 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -2,8 +2,8 @@ # Makefile for the linux kernel. # -CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET) -AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET) +CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) +AFLAGS_head.o := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) ifdef CONFIG_DYNAMIC_FTRACE CFLAGS_REMOVE_ftrace.o = -pg -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 8:50 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 03, 2010 at 03:36:51PM +0800, Eric Miao wrote: > From: Eric Miao <eric.y.miao@gmail.com> > > Signed-off-by: Eric Miao <eric.miao@canonical.com> > --- > arch/arm/Kconfig | 13 +++++++++++++ > arch/arm/Makefile | 13 +------------ > arch/arm/kernel/Makefile | 4 ++-- > 3 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 1f254bd..e340193 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1484,6 +1484,19 @@ config ATAGS_PROC > Should the atags used to boot the kernel be exported in an "atags" > file in procfs. Useful with kexec. > > +config TEXT_OFFSET > + hex "Offset of the kernel image from the start of RAM" IMHO this should not be user configurable. > + default 0x00008000 > + default 0x00028000 if ARCH_CLPS711X > + # We don't want the htc bootloader to corrupt kernel during resume > + default 0x00108000 if PM_H1940 > + # SA1111 DMA bug: we don't want the kernel to live in precious > + # DMA-able memory > + default 0x00208000 if (ARCH_SA1100 && SA1111) > + help > + TEXT_OFFSET is the offset of the decompressed kernel image from > + memory start. Currently, it is expected the least significant 16 > + bits to be 0x8000, so to leave space for the initial page table. > endmenu > > menu "CPU Power Management" > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index 64ba313..df8f73d 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -108,14 +108,6 @@ CHECKFLAGS += -D__arm__ > > #Default value > head-y := arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.o > -textofs-y := 0x00008000 > -textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 > -# We don't want the htc bootloader to corrupt kernel during resume > -textofs-$(CONFIG_PM_H1940) := 0x00108000 > -# SA1111 DMA bug: we don't want the kernel to live in precious DMA-able memory > -ifeq ($(CONFIG_ARCH_SA1100),y) > -textofs-$(CONFIG_SA1111) := 0x00208000 > -endif > > # Machine directory name. This list is sorted alphanumerically > # by CONFIG_* macro name. > @@ -209,9 +201,6 @@ CFLAGS_3c589_cs.o :=-DISA_SIXTEEN_BIT_PERIPHERAL > export CFLAGS_3c589_cs.o > endif > > -# The byte offset of the kernel image in RAM from the start of RAM. > -TEXT_OFFSET := $(textofs-y) > - > # The first directory contains additional information for the boot setup code > ifneq ($(machine-y),) > MACHINE := arch/arm/mach-$(word 1,$(machine-y))/ > @@ -228,7 +217,7 @@ else > KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs)) > endif > > -export TEXT_OFFSET GZFLAGS MMUEXT > +export GZFLAGS MMUEXT > > # Do we have FASTFPE? > FASTFPE :=arch/arm/fastfpe > diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile > index 26d302c..50a0d7e 100644 > --- a/arch/arm/kernel/Makefile > +++ b/arch/arm/kernel/Makefile > @@ -2,8 +2,8 @@ > # Makefile for the linux kernel. > # > > -CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET) > -AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET) > +CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) > +AFLAGS_head.o := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) Why not use CONFIG_TEXT_OFFSET directly in head.S? Is CONFIG_TEXT_OFFSET available in vmlinux.lds? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-10 9:45 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > On Thu, Jun 03, 2010 at 03:36:51PM +0800, Eric Miao wrote: >> From: Eric Miao <eric.y.miao@gmail.com> >> >> Signed-off-by: Eric Miao <eric.miao@canonical.com> >> --- >> ?arch/arm/Kconfig ? ? ? ? | ? 13 +++++++++++++ >> ?arch/arm/Makefile ? ? ? ?| ? 13 +------------ >> ?arch/arm/kernel/Makefile | ? ?4 ++-- >> ?3 files changed, 16 insertions(+), 14 deletions(-) >> >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index 1f254bd..e340193 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -1484,6 +1484,19 @@ config ATAGS_PROC >> ? ? ? ? Should the atags used to boot the kernel be exported in an "atags" >> ? ? ? ? file in procfs. Useful with kexec. >> >> +config TEXT_OFFSET >> + ? ? hex "Offset of the kernel image from the start of RAM" > IMHO this should not be user configurable. > That's true. The reason I don't want to keep this in Makefile is the concern about future change to Makefile (that machine-y could be composed of all the mach-*), and make it a kernel config option at least provide a way to fix that by the user interactively. >> ... snip >> -CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET) >> -AFLAGS_head.o ? ? ? ?:= -DTEXT_OFFSET=$(TEXT_OFFSET) >> +CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) >> +AFLAGS_head.o ? ? ? ?:= -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) > Why not use CONFIG_TEXT_OFFSET directly in head.S? > Is CONFIG_TEXT_OFFSET available in vmlinux.lds? I think so, and I'm fine to either way. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option 2010-06-10 9:45 ` Eric Miao @ 2010-06-10 10:00 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:00 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 10, 2010 at 05:45:53PM +0800, Eric Miao wrote: > 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > > On Thu, Jun 03, 2010 at 03:36:51PM +0800, Eric Miao wrote: > >> From: Eric Miao <eric.y.miao@gmail.com> > >> > >> Signed-off-by: Eric Miao <eric.miao@canonical.com> > >> --- > >> ?arch/arm/Kconfig ? ? ? ? | ? 13 +++++++++++++ > >> ?arch/arm/Makefile ? ? ? ?| ? 13 +------------ > >> ?arch/arm/kernel/Makefile | ? ?4 ++-- > >> ?3 files changed, 16 insertions(+), 14 deletions(-) > >> > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > >> index 1f254bd..e340193 100644 > >> --- a/arch/arm/Kconfig > >> +++ b/arch/arm/Kconfig > >> @@ -1484,6 +1484,19 @@ config ATAGS_PROC > >> ? ? ? ? Should the atags used to boot the kernel be exported in an "atags" > >> ? ? ? ? file in procfs. Useful with kexec. > >> > >> +config TEXT_OFFSET > >> + ? ? hex "Offset of the kernel image from the start of RAM" > > IMHO this should not be user configurable. > > > > That's true. The reason I don't want to keep this in Makefile is the > concern about future change to Makefile (that machine-y could be > composed of all the mach-*), and make it a kernel config option at > least provide a way to fix that by the user interactively. You can have both, just remove the string after "hex" above. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (2 preceding siblings ...) 2010-06-03 7:36 ` [PATCH 3/5] [ARM] Make TEXT_OFFSET a configurable option Eric Miao @ 2010-06-03 7:36 ` Eric Miao 2010-06-07 8:51 ` Tony Lindgren ` (5 more replies) 2010-06-03 7:36 ` [PATCH 5/5] [ARM] Move inclusion of Makefile.boot into arch/arm/boot/bootp Eric Miao ` (4 subsequent siblings) 8 siblings, 6 replies; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.y.miao@gmail.com> Original idea and prototype came from Nicolas Pitre. As long as the zImage is placed within the 256MB range from the start of the memory, ZRELADDR (Address where the decompressed kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by masking PC with 0xf000_0000. Running through all the Makefile.boot, all those zreladdr-y address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at run-time. Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, CONFIG_ZRELADDR _must_ be explicitly specified if: - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means a maksing of PC with 0xf000_0000 will result an incorrect address. - or the assumption of the zImage being loaded by the boot loader within 256MB from the start address is simply incorrect - or when ZBOOT_ROM is used, where the above assumption is normally wrong List of all Makefile.boot: Hardcoded, and can be auto calculated by masking PC with 0xf000_0000: arch/arm/mach-cns3xxx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-dove/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ebsa110/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-footbridge/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-integrator/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-iop13xx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-iop33x/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ixp2000/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ixp23xx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ixp4xx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-kirkwood/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ks8695/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-loki/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-mmp/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-mv78xx0/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-nomadik/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-nuc93x/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ns9xxx/Makefile.boot: zreladdr-y := 0x8000 arch/arm/mach-orion5x/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-spear3xx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-spear6xx/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-ux500/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-versatile/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-w90x900/Makefile.boot: zreladdr-y := 0x00008000 arch/arm/mach-msm/Makefile.boot: zreladdr-y := 0x10008000 arch/arm/mach-omap1/Makefile.boot: zreladdr-y := 0x10008000 arch/arm/mach-rpc/Makefile.boot: zreladdr-y := 0x10008000 arch/arm/mach-s5p6440/Makefile.boot: zreladdr-y := 0x20008000 arch/arm/mach-s5p6442/Makefile.boot: zreladdr-y := 0x20008000 arch/arm/mach-s5pc100/Makefile.boot: zreladdr-y := 0x20008000 arch/arm/mach-s5pv210/Makefile.boot: zreladdr-y := 0x20008000 arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30008000 arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30108000 arch/arm/mach-stmp378x/Makefile.boot: zreladdr-y := 0x40008000 arch/arm/mach-stmp37xx/Makefile.boot: zreladdr-y := 0x40008000 arch/arm/mach-s3c64xx/Makefile.boot: zreladdr-y := 0x50008000 arch/arm/mach-vexpress/Makefile.boot: zreladdr-y := 0x60008000 arch/arm/mach-mx25/Makefile.boot: zreladdr-y := 0x80008000 arch/arm/mach-mx3/Makefile.boot: zreladdr-y := 0x80008000 arch/arm/mach-netx/Makefile.boot: zreladdr-y := 0x80008000 arch/arm/mach-omap2/Makefile.boot: zreladdr-y := 0x80008000 arch/arm/mach-pnx4008/Makefile.boot: zreladdr-y := 0x80008000 arch/arm/mach-mx5/Makefile.boot: zreladdr-y := 0x90008000 arch/arm/mach-mxc91231/Makefile.boot: zreladdr-y := 0x90008000 arch/arm/mach-iop32x/Makefile.boot: zreladdr-y := 0xa0008000 arch/arm/mach-pxa/Makefile.boot: zreladdr-y := 0xa0008000 arch/arm/mach-lh7a40x/Makefile.boot: zreladdr-y := 0xc0008000 arch/arm/mach-clps711x/Makefile.boot: zreladdr-y := 0xc0028000 arch/arm/mach-aaec2000/Makefile.boot: zreladdr-y := 0xf0008000 arch/arm/mach-l7200/Makefile.boot: zreladdr-y := 0xf0008000 Depends on other options/macros, but still can be auto calculated by masking PC with 0xf000_0000: arch/arm/mach-bcmring/Makefile.boot: zreladdr-y := $(CONFIG_BCM_ZRELADDR) * refer to arch/arm/configs/bcmring_defconfig:CONFIG_BCM_ZRELADDR=0x8000 arch/arm/mach-h720x/Makefile.boot: zreladdr-$(CONFIG_ARCH_H720X) := 0x40008000 arch/arm/mach-shmobile/Makefile.boot: zreladdr-y := $(__ZRELADDR) * __ZRELADDR depends on CONFIG_MEMORY_START arch/arm/configs/ap4evb_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7372) arch/arm/configs/g3evm_defconfig: CONFIG_MEMORY_START=0x50000000 (SH7367) arch/arm/configs/g4evm_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7377) arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_ARCH_AT91CAP9) arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_ARCH_AT91SAM9G45) arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x20008000 (CONFIG_ARCH_AT91) arch/arm/mach-davinci/Makefile.boot: zreladdr-y := 0xc0008000 (CONFIG_ARCH_DAVINCI_DA8XX) arch/arm/mach-davinci/Makefile.boot: zreladdr-y := 0x80008000 (!CONFIG_ARCH_DAVINCI_DA8XX) arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000 arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0008000 arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0008000 arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0008000 arch/arm/mach-gemini/Makefile.boot: zreladdr-y := 0x00008000 (CONFIG_GEMINI_MEM_SWAP) arch/arm/mach-gemini/Makefile.boot: zreladdr-y := 0x10008000 (!CONFIG_GEMINI_MEM_SWAP) arch/arm/mach-mx2/Makefile.boot: zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000 arch/arm/mach-mx2/Makefile.boot: zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 arch/arm/mach-realview/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) arch/arm/mach-realview/Makefile.boot: zreladdr-y := 0x00008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) arch/arm/mach-sa1100/Makefile.boot: zreladdr-y := 0xc0008000 arch/arm/mach-sa1100/Makefile.boot: zreladdr-$(CONFIG_SA1111) := 0xc0208000 Machines where ZRELADDR cannot be auto calcuated: arch/arm/mach-mx1/Makefile.boot: zreladdr-y := 0x08008000 arch/arm/mach-shark/Makefile.boot: zreladdr-y := 0x08008000 arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x28E08000 arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x48008000 Signed-off-by: Eric Miao <eric.miao@canonical.com> --- arch/arm/Kconfig | 63 +++++++++++++++++++++++++++++++++++++ arch/arm/boot/Makefile | 10 +++--- arch/arm/boot/compressed/Makefile | 4 +- arch/arm/boot/compressed/head.S | 12 +++++-- 4 files changed, 79 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e340193..818f731 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1497,6 +1497,69 @@ config TEXT_OFFSET TEXT_OFFSET is the offset of the decompressed kernel image from memory start. Currently, it is expected the least significant 16 bits to be 0x8000, so to leave space for the initial page table. + +config AUTO_ZRELADDR + bool "Auto calculation of the decompressed kernel image address" + depends on !ZBOOT_ROM && !(ARCH_MX1 || ARCH_SHARK || ARCH_U300) + help + ZRELADDR is the physical address where the decompressed kernel + image will be placed. If AUTO_ZRELADDR is selected, the address + will be determined at run-time by masking the current IP with + 0xf000_0000. This assumes the zImage being placed in the 256MB + range from the 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_UX5XX || 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 + default 0x50008000 if ARCH_S3C64XX || ARCH_SH7367 + default 0x60008000 if ARCH_VEXPRESS + default 0x80008000 if ARCH_MX25 || ARCH_MX3 || ARCH_NETX ||\ + ARCH_OMAP2 || 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 4a590f4..8cc4669 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -14,18 +14,16 @@ 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 ZRELADDR INITRD_PHYS PARAMS_PHYS +export INITRD_PHYS PARAMS_PHYS targets := Image zImage xipImage bootpImage uImage @@ -67,7 +65,7 @@ quiet_cmd_uimage = UIMAGE $@ ifeq ($(CONFIG_ZBOOT_ROM),y) $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) else -$(obj)/uImage: LOADADDR=$(ZRELADDR) +$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR) endif ifeq ($(CONFIG_THUMB2_KERNEL),y) @@ -78,6 +76,8 @@ $(obj)/uImage: STARTADDR=$(LOADADDR) endif $(obj)/uImage: $(obj)/zImage FORCE + @test "$(CONFIG_AUTO_ZRELADDR)" == "y" ||\ + (echo CONFIG_ZRELADDR must be specified for uImage; exit -1) $(call if_changed,uimage) @echo ' Image $@ is ready' diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index dbd3fe8..45b0f48 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -4,6 +4,8 @@ # create a compressed vmlinuz image from the original vmlinux # +AFLAGS_head.o := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) + HEAD = head.o OBJS = misc.o decompress.o FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c @@ -79,8 +81,6 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR to the decompressor via linker symbols. -LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) 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 0765990..17d19dc 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -170,9 +170,16 @@ not_angel: .text adr r0, LC0 - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) + ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp}) + THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} ) THUMB( ldr sp, [r0, #32] ) +#ifdef CONFIG_AUTO_ZRELADDR + @ determine final kernel image address + and r4, pc, #0xf0000000 + add r4, r4, #TEXT_OFFSET +#else + ldr r4, =CONFIG_ZRELADDR +#endif subs r0, r0, r1 @ calculate the delta offset @ if delta is zero, we are @@ -310,7 +317,6 @@ wont_overwrite: mov r0, r4 LC0: .word LC0 @ r1 .word __bss_start @ r2 .word _end @ r3 - .word zreladdr @ r4 .word _start @ r5 .word _image_size @ r6 .word _got_start @ r11 -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 ` (4 subsequent siblings) 5 siblings, 0 replies; 138+ messages in thread From: Tony Lindgren @ 2010-06-07 8:51 UTC (permalink / raw) To: linux-arm-kernel * Eric Miao <eric.miao@canonical.com> [100603 10:36]: > From: Eric Miao <eric.y.miao@gmail.com> > > Original idea and prototype came from Nicolas Pitre. > > As long as the zImage is placed within the 256MB range from the > start of the memory, ZRELADDR (Address where the decompressed > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) > can be determined at run-time by masking PC with 0xf000_0000. > > Running through all the Makefile.boot, all those zreladdr-y > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > run-time. > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > CONFIG_ZRELADDR _must_ be explicitly specified if: > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > a maksing of PC with 0xf000_0000 will result an incorrect > address. > > - or the assumption of the zImage being loaded by the boot > loader within 256MB from the start address is simply > incorrect > > - or when ZBOOT_ROM is used, where the above assumption is > normally wrong Nice series of patches! > +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_UX5XX || 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 > + default 0x50008000 if ARCH_S3C64XX || ARCH_SH7367 > + default 0x60008000 if ARCH_VEXPRESS > + default 0x80008000 if ARCH_MX25 || ARCH_MX3 || ARCH_NETX ||\ > + ARCH_OMAP2 || ARCH_PNX4008 Please s/ARCH_OMAP2/ARCH_OMAP2PLUS/ above, then it covers ARCH_OMAP2, 3 and 4. Regards, Tony ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 ` (3 subsequent siblings) 5 siblings, 1 reply; 138+ messages in thread From: Marek Vasut @ 2010-06-07 15:12 UTC (permalink / raw) To: linux-arm-kernel Dne ?t 3. ?ervna 2010 09:36:52 Eric Miao napsal(a): > From: Eric Miao <eric.y.miao@gmail.com> > > Original idea and prototype came from Nicolas Pitre. > > As long as the zImage is placed within the 256MB range from the > start of the memory, ZRELADDR (Address where the decompressed > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) > can be determined at run-time by masking PC with 0xf000_0000. > > Running through all the Makefile.boot, all those zreladdr-y > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > run-time. > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > CONFIG_ZRELADDR _must_ be explicitly specified if: > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > a maksing of PC with 0xf000_0000 will result an incorrect > address. > > - or the assumption of the zImage being loaded by the boot > loader within 256MB from the start address is simply > incorrect > > - or when ZBOOT_ROM is used, where the above assumption is > normally wrong > > List of all Makefile.boot: > > Hardcoded, and can be auto calculated by masking PC with 0xf000_0000: > > arch/arm/mach-cns3xxx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-dove/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ebsa110/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-footbridge/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-integrator/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-iop13xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-iop33x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp2000/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp23xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp4xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-kirkwood/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ks8695/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-loki/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-mmp/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-mv78xx0/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-nomadik/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-nuc93x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ns9xxx/Makefile.boot: zreladdr-y := 0x8000 > arch/arm/mach-orion5x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-spear3xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-spear6xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ux500/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-versatile/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-w90x900/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-msm/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-omap1/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-rpc/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-s5p6440/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5p6442/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5pc100/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5pv210/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30008000 > arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30108000 > arch/arm/mach-stmp378x/Makefile.boot: zreladdr-y := 0x40008000 > arch/arm/mach-stmp37xx/Makefile.boot: zreladdr-y := 0x40008000 > arch/arm/mach-s3c64xx/Makefile.boot: zreladdr-y := 0x50008000 > arch/arm/mach-vexpress/Makefile.boot: zreladdr-y := 0x60008000 > arch/arm/mach-mx25/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-mx3/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-netx/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-omap2/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-pnx4008/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-mx5/Makefile.boot: zreladdr-y := 0x90008000 > arch/arm/mach-mxc91231/Makefile.boot: zreladdr-y := 0x90008000 > arch/arm/mach-iop32x/Makefile.boot: zreladdr-y := 0xa0008000 > arch/arm/mach-pxa/Makefile.boot: zreladdr-y := 0xa0008000 > arch/arm/mach-lh7a40x/Makefile.boot: zreladdr-y := 0xc0008000 > arch/arm/mach-clps711x/Makefile.boot: zreladdr-y := 0xc0028000 > arch/arm/mach-aaec2000/Makefile.boot: zreladdr-y := 0xf0008000 > arch/arm/mach-l7200/Makefile.boot: zreladdr-y := 0xf0008000 > > Depends on other options/macros, but still can be auto calculated by > masking PC with 0xf000_0000: > > arch/arm/mach-bcmring/Makefile.boot: zreladdr-y := > $(CONFIG_BCM_ZRELADDR) * refer to > arch/arm/configs/bcmring_defconfig:CONFIG_BCM_ZRELADDR=0x8000 > arch/arm/mach-h720x/Makefile.boot: zreladdr-$(CONFIG_ARCH_H720X) := > 0x40008000 arch/arm/mach-shmobile/Makefile.boot: zreladdr-y := > $(__ZRELADDR) * __ZRELADDR depends on CONFIG_MEMORY_START > arch/arm/configs/ap4evb_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7372) > arch/arm/configs/g3evm_defconfig: CONFIG_MEMORY_START=0x50000000 (SH7367) > arch/arm/configs/g4evm_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7377) > > arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x70008000 > (CONFIG_ARCH_AT91CAP9) arch/arm/mach-at91/Makefile.boot: zreladdr-y := > 0x70008000 (CONFIG_ARCH_AT91SAM9G45) arch/arm/mach-at91/Makefile.boot: > zreladdr-y := 0x20008000 (CONFIG_ARCH_AT91) > arch/arm/mach-davinci/Makefile.boot: zreladdr-y := 0xc0008000 > (CONFIG_ARCH_DAVINCI_DA8XX) arch/arm/mach-davinci/Makefile.boot: > zreladdr-y := 0x80008000 (!CONFIG_ARCH_DAVINCI_DA8XX) > arch/arm/mach-ep93xx/Makefile.boot: > zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000 > arch/arm/mach-ep93xx/Makefile.boot: > zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 > arch/arm/mach-ep93xx/Makefile.boot: > zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0008000 > arch/arm/mach-ep93xx/Makefile.boot: > zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0008000 > arch/arm/mach-ep93xx/Makefile.boot: > zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0008000 > arch/arm/mach-gemini/Makefile.boot: zreladdr-y := 0x00008000 > (CONFIG_GEMINI_MEM_SWAP) arch/arm/mach-gemini/Makefile.boot: > zreladdr-y := 0x10008000 (!CONFIG_GEMINI_MEM_SWAP) > arch/arm/mach-mx2/Makefile.boot: zreladdr-$(CONFIG_MACH_MX21) := > 0xC0008000 arch/arm/mach-mx2/Makefile.boot: > zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 > arch/arm/mach-realview/Makefile.boot: zreladdr-y := 0x70008000 > (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) arch/arm/mach-realview/Makefile.boot: > zreladdr-y := 0x00008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) > arch/arm/mach-sa1100/Makefile.boot: zreladdr-y := 0xc0008000 > arch/arm/mach-sa1100/Makefile.boot: zreladdr-$(CONFIG_SA1111) := > 0xc0208000 > > Machines where ZRELADDR cannot be auto calcuated: > > arch/arm/mach-mx1/Makefile.boot: zreladdr-y := 0x08008000 > arch/arm/mach-shark/Makefile.boot: zreladdr-y := 0x08008000 > arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x28E08000 > arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x48008000 > > Signed-off-by: Eric Miao <eric.miao@canonical.com> > --- > arch/arm/Kconfig | 63 > +++++++++++++++++++++++++++++++++++++ arch/arm/boot/Makefile | > 10 +++--- > arch/arm/boot/compressed/Makefile | 4 +- > arch/arm/boot/compressed/head.S | 12 +++++-- > 4 files changed, 79 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index e340193..818f731 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1497,6 +1497,69 @@ config TEXT_OFFSET > TEXT_OFFSET is the offset of the decompressed kernel image from > memory start. Currently, it is expected the least significant 16 > bits to be 0x8000, so to leave space for the initial page table. > + > +config AUTO_ZRELADDR > + bool "Auto calculation of the decompressed kernel image address" > + depends on !ZBOOT_ROM && !(ARCH_MX1 || ARCH_SHARK || ARCH_U300) > + help > + ZRELADDR is the physical address where the decompressed kernel > + image will be placed. If AUTO_ZRELADDR is selected, the address > + will be determined at run-time by masking the current IP with > + 0xf000_0000. This assumes the zImage being placed in the 256MB > + range from the 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_UX5XX || 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 > + default 0x50008000 if ARCH_S3C64XX || ARCH_SH7367 > + default 0x60008000 if ARCH_VEXPRESS > + default 0x80008000 if ARCH_MX25 || ARCH_MX3 || ARCH_NETX ||\ > + ARCH_OMAP2 || 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 > Hi, what about the PXA based devices, where RAM begins at 0x80000000 ? Cheers > menu "CPU Power Management" > diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile > index 4a590f4..8cc4669 100644 > --- a/arch/arm/boot/Makefile > +++ b/arch/arm/boot/Makefile > @@ -14,18 +14,16 @@ > 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 ZRELADDR INITRD_PHYS PARAMS_PHYS > +export INITRD_PHYS PARAMS_PHYS > > targets := Image zImage xipImage bootpImage uImage > > @@ -67,7 +65,7 @@ quiet_cmd_uimage = UIMAGE $@ > ifeq ($(CONFIG_ZBOOT_ROM),y) > $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) > else > -$(obj)/uImage: LOADADDR=$(ZRELADDR) > +$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR) > endif > > ifeq ($(CONFIG_THUMB2_KERNEL),y) > @@ -78,6 +76,8 @@ $(obj)/uImage: STARTADDR=$(LOADADDR) > endif > > $(obj)/uImage: $(obj)/zImage FORCE > + @test "$(CONFIG_AUTO_ZRELADDR)" == "y" ||\ > + (echo CONFIG_ZRELADDR must be specified for uImage; exit -1) > $(call if_changed,uimage) > @echo ' Image $@ is ready' > > diff --git a/arch/arm/boot/compressed/Makefile > b/arch/arm/boot/compressed/Makefile index dbd3fe8..45b0f48 100644 > --- a/arch/arm/boot/compressed/Makefile > +++ b/arch/arm/boot/compressed/Makefile > @@ -4,6 +4,8 @@ > # create a compressed vmlinuz image from the original vmlinux > # > > +AFLAGS_head.o := -DTEXT_OFFSET=$(CONFIG_TEXT_OFFSET) > + > HEAD = head.o > OBJS = misc.o decompress.o > FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c > @@ -79,8 +81,6 @@ endif > EXTRA_CFLAGS := -fpic -fno-builtin > EXTRA_AFLAGS := -Wa,-march=all > > -# Supply ZRELADDR to the decompressor via linker symbols. > -LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) > 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 0765990..17d19dc 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -170,9 +170,16 @@ not_angel: > > .text > adr r0, LC0 > - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) > - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) > + ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp}) > + THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} ) > THUMB( ldr sp, [r0, #32] ) > +#ifdef CONFIG_AUTO_ZRELADDR > + @ determine final kernel image address > + and r4, pc, #0xf0000000 > + add r4, r4, #TEXT_OFFSET > +#else > + ldr r4, =CONFIG_ZRELADDR > +#endif > subs r0, r0, r1 @ calculate the delta offset > > @ if delta is zero, we are > @@ -310,7 +317,6 @@ wont_overwrite: mov r0, r4 > LC0: .word LC0 @ r1 > .word __bss_start @ r2 > .word _end @ r3 > - .word zreladdr @ r4 > .word _start @ r5 > .word _image_size @ r6 > .word _got_start @ r11 ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-07 15:12 ` Marek Vasut @ 2010-06-08 6:12 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-08 6:12 UTC (permalink / raw) To: linux-arm-kernel > Hi, > what about the PXA based devices, where RAM begins at 0x80000000 ? > I hope at this stage, it's a 1:1 direct mapping from the original zreladdr-y variables to CONFIG_ZRELADDR. But yeah, we can make that change some time later based on this. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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-10 9:00 ` Uwe Kleine-König 2010-06-10 9:16 ` Russell King - ARM Linux ` (2 more replies) 2010-06-10 22:17 ` Linus Walleij ` (2 subsequent siblings) 5 siblings, 3 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 9:00 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: > From: Eric Miao <eric.y.miao@gmail.com> > > Original idea and prototype came from Nicolas Pitre. > > As long as the zImage is placed within the 256MB range from the > start of the memory, ZRELADDR (Address where the decompressed > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) s/ / / > can be determined at run-time by masking PC with 0xf000_0000. > > Running through all the Makefile.boot, all those zreladdr-y > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > run-time. > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > CONFIG_ZRELADDR _must_ be explicitly specified if: > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > a maksing of PC with 0xf000_0000 will result an incorrect s/maksing of/masking/ (note: there are 2 changes) > address. > > - or the assumption of the zImage being loaded by the boot > loader within 256MB from the start address is simply > incorrect Hmmm, this makes the image depending on the bootloader. Not that nice. > - or when ZBOOT_ROM is used, where the above assumption is > normally wrong So guess based on sp :-) > List of all Makefile.boot: > > Hardcoded, and can be auto calculated by masking PC with 0xf000_0000: > > arch/arm/mach-cns3xxx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-dove/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ebsa110/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-footbridge/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-integrator/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-iop13xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-iop33x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp2000/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp23xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ixp4xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-kirkwood/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ks8695/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-loki/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-mmp/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-mv78xx0/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-nomadik/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-nuc93x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ns9xxx/Makefile.boot: zreladdr-y := 0x8000 > arch/arm/mach-orion5x/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-spear3xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-spear6xx/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-ux500/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-versatile/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-w90x900/Makefile.boot: zreladdr-y := 0x00008000 > arch/arm/mach-msm/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-omap1/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-rpc/Makefile.boot: zreladdr-y := 0x10008000 > arch/arm/mach-s5p6440/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5p6442/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5pc100/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s5pv210/Makefile.boot: zreladdr-y := 0x20008000 > arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30008000 > arch/arm/mach-s3c2410/Makefile.boot: zreladdr-y := 0x30108000 > arch/arm/mach-stmp378x/Makefile.boot: zreladdr-y := 0x40008000 > arch/arm/mach-stmp37xx/Makefile.boot: zreladdr-y := 0x40008000 > arch/arm/mach-s3c64xx/Makefile.boot: zreladdr-y := 0x50008000 > arch/arm/mach-vexpress/Makefile.boot: zreladdr-y := 0x60008000 > arch/arm/mach-mx25/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-mx3/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-netx/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-omap2/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-pnx4008/Makefile.boot: zreladdr-y := 0x80008000 > arch/arm/mach-mx5/Makefile.boot: zreladdr-y := 0x90008000 > arch/arm/mach-mxc91231/Makefile.boot: zreladdr-y := 0x90008000 > arch/arm/mach-iop32x/Makefile.boot: zreladdr-y := 0xa0008000 > arch/arm/mach-pxa/Makefile.boot: zreladdr-y := 0xa0008000 > arch/arm/mach-lh7a40x/Makefile.boot: zreladdr-y := 0xc0008000 > arch/arm/mach-clps711x/Makefile.boot: zreladdr-y := 0xc0028000 > arch/arm/mach-aaec2000/Makefile.boot: zreladdr-y := 0xf0008000 > arch/arm/mach-l7200/Makefile.boot: zreladdr-y := 0xf0008000 > > Depends on other options/macros, but still can be auto calculated by > masking PC with 0xf000_0000: > > arch/arm/mach-bcmring/Makefile.boot: zreladdr-y := $(CONFIG_BCM_ZRELADDR) > * refer to arch/arm/configs/bcmring_defconfig:CONFIG_BCM_ZRELADDR=0x8000 > arch/arm/mach-h720x/Makefile.boot: zreladdr-$(CONFIG_ARCH_H720X) := 0x40008000 > arch/arm/mach-shmobile/Makefile.boot: zreladdr-y := $(__ZRELADDR) > * __ZRELADDR depends on CONFIG_MEMORY_START > arch/arm/configs/ap4evb_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7372) > arch/arm/configs/g3evm_defconfig: CONFIG_MEMORY_START=0x50000000 (SH7367) > arch/arm/configs/g4evm_defconfig: CONFIG_MEMORY_START=0x40000000 (SH7377) > > arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_ARCH_AT91CAP9) > arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_ARCH_AT91SAM9G45) > arch/arm/mach-at91/Makefile.boot: zreladdr-y := 0x20008000 (CONFIG_ARCH_AT91) > arch/arm/mach-davinci/Makefile.boot: zreladdr-y := 0xc0008000 (CONFIG_ARCH_DAVINCI_DA8XX) > arch/arm/mach-davinci/Makefile.boot: zreladdr-y := 0x80008000 (!CONFIG_ARCH_DAVINCI_DA8XX) > arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000 > arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 > arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0008000 > arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0008000 > arch/arm/mach-ep93xx/Makefile.boot: zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0008000 > arch/arm/mach-gemini/Makefile.boot: zreladdr-y := 0x00008000 (CONFIG_GEMINI_MEM_SWAP) > arch/arm/mach-gemini/Makefile.boot: zreladdr-y := 0x10008000 (!CONFIG_GEMINI_MEM_SWAP) > arch/arm/mach-mx2/Makefile.boot: zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000 > arch/arm/mach-mx2/Makefile.boot: zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 > arch/arm/mach-realview/Makefile.boot: zreladdr-y := 0x70008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) > arch/arm/mach-realview/Makefile.boot: zreladdr-y := 0x00008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) > arch/arm/mach-sa1100/Makefile.boot: zreladdr-y := 0xc0008000 > arch/arm/mach-sa1100/Makefile.boot: zreladdr-$(CONFIG_SA1111) := 0xc0208000 > > Machines where ZRELADDR cannot be auto calcuated: > > arch/arm/mach-mx1/Makefile.boot: zreladdr-y := 0x08008000 > arch/arm/mach-shark/Makefile.boot: zreladdr-y := 0x08008000 > arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x28E08000 > arch/arm/mach-u300/Makefile.boot: zreladdr-y := 0x48008000 I care about mx1, so I would prefer using 0xf8000000. What do you think about requiring r4 to be set to physoffset as I did in my series? This way zImage would already know PHYSOFFSET and so didn't need to guess ZRELADDR. OK, until most bootloaders are fixed we need to guess, too. But at least this would provide a way to stop guessing wrong for the affected platforms. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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:18 ` Eric Miao 2010-06-10 18:40 ` Nicolas Pitre 2 siblings, 2 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-06-10 9:16 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 10, 2010 at 11:00:15AM +0200, Uwe Kleine-K?nig wrote: > What do you think about requiring r4 to be set to physoffset as I did in > my series? This way zImage would already know PHYSOFFSET and so didn't > need to guess ZRELADDR. OK, until most bootloaders are fixed we need > to guess, too. But at least this would provide a way to stop guessing > wrong for the affected platforms. That means it won't get implemented. Look at the facts. It's taken _years_ (5+ years) for boot loaders to start passing a value in r1. We then switched to the ATAG stuff, and it's again taking years for boot loaders to start passing right ATAG stuff - and most of them don't get it right. Eg, lots of uboot are happy to print out the memory information on the terminal as they start up, but don't pass memory information to the kernel. So if we want phys offset in r4, we better realise that it'll take something like five years of nagging to get it in place, and even then people will continue to use boot loaders which don't have support. And if it's only necessary for a handful of platforms, I doubt anyone's really going to bother - or even validate that r4 is correct. You have a whole set of other problems - how do you cope with existing boot loaders which happen to call the kernel with a value in r4 which _could_ potentially be valid, but should not be used? At the moment, r4 could contain _any_ value what so ever. Let's face it - advertising that "the kernel will eventually start using r4" doesn't solve the problem either - we did that with the ATAG list and we know the results from that. Maybe the right experiment to try this time - if we want r4 to contain a value - is to say that kernel 2.6.37 will require a value in r4, and won't boot without it, and will therefore be incompatible with old boot loaders. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 1 sibling, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 9:35 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Thu, Jun 10, 2010 at 10:16:08AM +0100, Russell King - ARM Linux wrote: > On Thu, Jun 10, 2010 at 11:00:15AM +0200, Uwe Kleine-K?nig wrote: > > What do you think about requiring r4 to be set to physoffset as I did in > > my series? This way zImage would already know PHYSOFFSET and so didn't > > need to guess ZRELADDR. OK, until most bootloaders are fixed we need > > to guess, too. But at least this would provide a way to stop guessing > > wrong for the affected platforms. > > That means it won't get implemented. Look at the facts. It's taken > _years_ (5+ years) for boot loaders to start passing a value in r1. > We then switched to the ATAG stuff, and it's again taking years for > boot loaders to start passing right ATAG stuff - and most of them don't > get it right. Eg, lots of uboot are happy to print out the memory > information on the terminal as they start up, but don't pass memory > information to the kernel. > > So if we want phys offset in r4, we better realise that it'll take > something like five years of nagging to get it in place, and even then > people will continue to use boot loaders which don't have support. > And if it's only necessary for a handful of platforms, I doubt anyone's > really going to bother - or even validate that r4 is correct. > > You have a whole set of other problems - how do you cope with existing > boot loaders which happen to call the kernel with a value in r4 which > _could_ potentially be valid, but should not be used? At the moment, > r4 could contain _any_ value what so ever. > > Let's face it - advertising that "the kernel will eventually start using > r4" doesn't solve the problem either - we did that with the ATAG list > and we know the results from that. > > Maybe the right experiment to try this time - if we want r4 to contain > a value - is to say that kernel 2.6.37 will require a value in r4, and > won't boot without it, and will therefore be incompatible with old > boot loaders. I agree with you. Either we need to completly break bootloaders that don't pass the right value or it should work without new requirements for most machines. For the machines that fail to guess correctly IMHO the better approach is to let the bootloader pass the information instead of letting the user guess the right value. Maybe this is because I work for a company that usually sells support for both bootloader and kernel. The people that don't want/cannot to touch their bootloader might have a different mileage. And note we could implement both ways (if provided via .config use this value otherwise use r4 if it looks valid else guess). If we choose that all values in r4 look valid we have the needed breakage :-) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 1 sibling, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-10 9:38 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Russell King - ARM Linux <linux@arm.linux.org.uk>: > On Thu, Jun 10, 2010 at 11:00:15AM +0200, Uwe Kleine-K?nig wrote: >> What do you think about requiring r4 to be set to physoffset as I did in >> my series? ?This way zImage would already know PHYSOFFSET and so didn't >> need to guess ZRELADDR. ?OK, until most bootloaders are fixed we need >> to guess, too. ?But at least this would provide a way to stop guessing >> wrong for the affected platforms. > > That means it won't get implemented. ?Look at the facts. ?It's taken > _years_ (5+ years) for boot loaders to start passing a value in r1. > We then switched to the ATAG stuff, and it's again taking years for > boot loaders to start passing right ATAG stuff - and most of them don't > get it right. ?Eg, lots of uboot are happy to print out the memory > information on the terminal as they start up, but don't pass memory > information to the kernel. > > So if we want phys offset in r4, we better realise that it'll take > something like five years of nagging to get it in place, and even then > people will continue to use boot loaders which don't have support. > And if it's only necessary for a handful of platforms, I doubt anyone's > really going to bother - or even validate that r4 is correct. > > You have a whole set of other problems - how do you cope with existing > boot loaders which happen to call the kernel with a value in r4 which > _could_ potentially be valid, but should not be used? ?At the moment, > r4 could contain _any_ value what so ever. > > Let's face it - advertising that "the kernel will eventually start using > r4" doesn't solve the problem either - we did that with the ATAG list > and we know the results from that. > > Maybe the right experiment to try this time - if we want r4 to contain > a value - is to say that kernel 2.6.37 will require a value in r4, and > won't boot without it, and will therefore be incompatible with old > boot loaders. > It might be difficult to guess if it's a correct value in r4 and we might not need it. We know which boards can be compiled together and the phys_offset can be guessed and we make a single kernel for them, otherwise we end up building a specific kernel. Although my observation is that most platforms can guess phys_offset automatically, but due to the fact there are so many ARM variants out there, and each is doing things differently, what we can do now is to provide both choices. And you reminded me that it might be better if we can make RUNTIME_PHYS_OFFSET depends on the architecture this is test-proofed, so when the day that RUNTIME_PHYS_OFFSET depends on {ALL_ARCH} happens we can just simplify the mess a bit. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:38 ` Eric Miao @ 2010-06-10 9:43 ` Uwe Kleine-König 2010-06-10 9:47 ` Eric Miao 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 9:43 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 10, 2010 at 05:38:27PM +0800, Eric Miao wrote: > 2010/6/10 Russell King - ARM Linux <linux@arm.linux.org.uk>: > > On Thu, Jun 10, 2010 at 11:00:15AM +0200, Uwe Kleine-K?nig wrote: > >> What do you think about requiring r4 to be set to physoffset as I did in > >> my series? ?This way zImage would already know PHYSOFFSET and so didn't > >> need to guess ZRELADDR. ?OK, until most bootloaders are fixed we need > >> to guess, too. ?But at least this would provide a way to stop guessing > >> wrong for the affected platforms. > > > > That means it won't get implemented. ?Look at the facts. ?It's taken > > _years_ (5+ years) for boot loaders to start passing a value in r1. > > We then switched to the ATAG stuff, and it's again taking years for > > boot loaders to start passing right ATAG stuff - and most of them don't > > get it right. ?Eg, lots of uboot are happy to print out the memory > > information on the terminal as they start up, but don't pass memory > > information to the kernel. > > > > So if we want phys offset in r4, we better realise that it'll take > > something like five years of nagging to get it in place, and even then > > people will continue to use boot loaders which don't have support. > > And if it's only necessary for a handful of platforms, I doubt anyone's > > really going to bother - or even validate that r4 is correct. > > > > You have a whole set of other problems - how do you cope with existing > > boot loaders which happen to call the kernel with a value in r4 which > > _could_ potentially be valid, but should not be used? ?At the moment, > > r4 could contain _any_ value what so ever. > > > > Let's face it - advertising that "the kernel will eventually start using > > r4" doesn't solve the problem either - we did that with the ATAG list > > and we know the results from that. > > > > Maybe the right experiment to try this time - if we want r4 to contain > > a value - is to say that kernel 2.6.37 will require a value in r4, and > > won't boot without it, and will therefore be incompatible with old > > boot loaders. > > > > It might be difficult to guess if it's a correct value in r4 and we might > not need it. We know which boards can be compiled together and > the phys_offset can be guessed and we make a single kernel for them, > otherwise we end up building a specific kernel. Although my observation > is that most platforms can guess phys_offset automatically, but due to > the fact there are so many ARM variants out there, and each is doing > things differently, what we can do now is to provide both choices. > > And you reminded me that it might be better if we can make RUNTIME_PHYS_OFFSET > depends on the architecture this is test-proofed, so when the day that > > RUNTIME_PHYS_OFFSET > depends on {ALL_ARCH} I would prefer config HAVE_RUNTIME_PHYS_OFFSET bool config RUNTIME_PHYS_OFFSET depens on HAVE_RUNTIME_PHYS_OFFSET config ARCH_FOO select HAVE_RUNTIME_PHYS_OFFSET for the usual reasons. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:43 ` Uwe Kleine-König @ 2010-06-10 9:47 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-10 9:47 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > On Thu, Jun 10, 2010 at 05:38:27PM +0800, Eric Miao wrote: >> 2010/6/10 Russell King - ARM Linux <linux@arm.linux.org.uk>: >> > On Thu, Jun 10, 2010 at 11:00:15AM +0200, Uwe Kleine-K?nig wrote: >> >> What do you think about requiring r4 to be set to physoffset as I did in >> >> my series? ?This way zImage would already know PHYSOFFSET and so didn't >> >> need to guess ZRELADDR. ?OK, until most bootloaders are fixed we need >> >> to guess, too. ?But at least this would provide a way to stop guessing >> >> wrong for the affected platforms. >> > >> > That means it won't get implemented. ?Look at the facts. ?It's taken >> > _years_ (5+ years) for boot loaders to start passing a value in r1. >> > We then switched to the ATAG stuff, and it's again taking years for >> > boot loaders to start passing right ATAG stuff - and most of them don't >> > get it right. ?Eg, lots of uboot are happy to print out the memory >> > information on the terminal as they start up, but don't pass memory >> > information to the kernel. >> > >> > So if we want phys offset in r4, we better realise that it'll take >> > something like five years of nagging to get it in place, and even then >> > people will continue to use boot loaders which don't have support. >> > And if it's only necessary for a handful of platforms, I doubt anyone's >> > really going to bother - or even validate that r4 is correct. >> > >> > You have a whole set of other problems - how do you cope with existing >> > boot loaders which happen to call the kernel with a value in r4 which >> > _could_ potentially be valid, but should not be used? ?At the moment, >> > r4 could contain _any_ value what so ever. >> > >> > Let's face it - advertising that "the kernel will eventually start using >> > r4" doesn't solve the problem either - we did that with the ATAG list >> > and we know the results from that. >> > >> > Maybe the right experiment to try this time - if we want r4 to contain >> > a value - is to say that kernel 2.6.37 will require a value in r4, and >> > won't boot without it, and will therefore be incompatible with old >> > boot loaders. >> > >> >> It might be difficult to guess if it's a correct value in r4 and we might >> not need it. We know which boards can be compiled together and >> the phys_offset can be guessed and we make a single kernel for them, >> otherwise we end up building a specific kernel. Although my observation >> is that most platforms can guess phys_offset automatically, but due to >> the fact there are so many ARM variants out there, and each is doing >> things differently, what we can do now is to provide both choices. >> >> And you reminded me that it might be better if we can make RUNTIME_PHYS_OFFSET >> depends on the architecture this is test-proofed, so when the day that >> >> RUNTIME_PHYS_OFFSET >> ? ? ? ? depends on {ALL_ARCH} > I would prefer > > ? ? ? ?config HAVE_RUNTIME_PHYS_OFFSET > ? ? ? ? ? ? ? ?bool > > ? ? ? ?config RUNTIME_PHYS_OFFSET > ? ? ? ? ? ? ? ?depens on HAVE_RUNTIME_PHYS_OFFSET > > ? ? ? ?config ARCH_FOO > ? ? ? ? ? ? ? ?select HAVE_RUNTIME_PHYS_OFFSET > > for the usual reasons. > That's a good way to go. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:00 ` Uwe Kleine-König 2010-06-10 9:16 ` Russell King - ARM Linux @ 2010-06-10 9:18 ` Eric Miao 2010-06-10 9:58 ` Uwe Kleine-König 2010-06-10 22:23 ` Linus Walleij 2010-06-10 18:40 ` Nicolas Pitre 2 siblings, 2 replies; 138+ messages in thread From: Eric Miao @ 2010-06-10 9:18 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: >> From: Eric Miao <eric.y.miao@gmail.com> >> >> Original idea and prototype came from Nicolas Pitre. >> >> As long as the zImage is placed within the 256MB range from the >> start of the memory, ZRELADDR (Address where the decompressed >> kernel will be placed, usually ?== PHYS_OFFSET + TEXT_OFFSET) > s/ ?/ / > >> can be determined at run-time by masking PC with 0xf000_0000. >> >> Running through all the Makefile.boot, all those zreladdr-y >> address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at >> run-time. >> >> Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, >> CONFIG_ZRELADDR _must_ be explicitly specified if: >> >> ?- ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means >> ? ?a maksing of PC with 0xf000_0000 will result an incorrect > s/maksing of/masking/ (note: there are 2 changes) > >> ? ?address. >> >> ?- or the assumption of the zImage being loaded by the boot >> ? ?loader within 256MB from the start address is simply >> ? ?incorrect > Hmmm, this makes the image depending on the bootloader. ?Not that nice. Yes, that's a negative side. And that's why I'm still keeping CONFIG_ZRELADDR instead of guessing all the time, so platforms where this assumption isn't true have to build their kernel with this option set correctly. I've actually discussed this with Nicolas and his opinion is this is some thing we can afford, e.g. in PC/x86 world, there are already a lot restrictions on kernel placement. My original idea is to embed the machine_desc() section into zImage itself and invent a machine_desc.phys_offset field so that both the zImage header and the kernel itself will be both happy. There are some patches actually ready for this, and I can submit them just in case anyone is interested. > >> ?- or when ZBOOT_ROM is used, where the above assumption is >> ? ?normally wrong > So guess based on sp :-) > >> List of all Makefile.boot: >> >> Hardcoded, and can be auto calculated by masking PC with 0xf000_0000: >> >> arch/arm/mach-cns3xxx/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-dove/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-ebsa110/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-footbridge/Makefile.boot: ? ? ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-integrator/Makefile.boot: ? ? ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-iop13xx/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-iop33x/Makefile.boot: ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-ixp2000/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-ixp23xx/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-ixp4xx/Makefile.boot: ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-kirkwood/Makefile.boot: ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-ks8695/Makefile.boot: ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-loki/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-mmp/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-mv78xx0/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-nomadik/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-nuc93x/Makefile.boot: ? ? ?zreladdr-y ? := 0x00008000 >> arch/arm/mach-ns9xxx/Makefile.boot: ? ? ?zreladdr-y ? := 0x8000 >> arch/arm/mach-orion5x/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-spear3xx/Makefile.boot: ? ? ?zreladdr-y := 0x00008000 >> arch/arm/mach-spear6xx/Makefile.boot: ? ? ?zreladdr-y := 0x00008000 >> arch/arm/mach-ux500/Makefile.boot: ? ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-versatile/Makefile.boot: ? ? ? ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-w90x900/Makefile.boot: ? ? zreladdr-y ? := 0x00008000 >> arch/arm/mach-msm/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x10008000 >> arch/arm/mach-omap1/Makefile.boot: ? ? ? zreladdr-y ? := 0x10008000 >> arch/arm/mach-rpc/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x10008000 >> arch/arm/mach-s5p6440/Makefile.boot: ? ? zreladdr-y ? := 0x20008000 >> arch/arm/mach-s5p6442/Makefile.boot: ? ? zreladdr-y ? := 0x20008000 >> arch/arm/mach-s5pc100/Makefile.boot: ? ? zreladdr-y ? := 0x20008000 >> arch/arm/mach-s5pv210/Makefile.boot: ? ? zreladdr-y ? := 0x20008000 >> arch/arm/mach-s3c2410/Makefile.boot: ? ? zreladdr-y ? := 0x30008000 >> arch/arm/mach-s3c2410/Makefile.boot: ? ? zreladdr-y ? := 0x30108000 >> arch/arm/mach-stmp378x/Makefile.boot: ? ?zreladdr-y ? := 0x40008000 >> arch/arm/mach-stmp37xx/Makefile.boot: ? ?zreladdr-y ? := 0x40008000 >> arch/arm/mach-s3c64xx/Makefile.boot: ? ? zreladdr-y ? := 0x50008000 >> arch/arm/mach-vexpress/Makefile.boot: ? ?zreladdr-y ? := 0x60008000 >> arch/arm/mach-mx25/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x80008000 >> arch/arm/mach-mx3/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x80008000 >> arch/arm/mach-netx/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x80008000 >> arch/arm/mach-omap2/Makefile.boot: ? ? ? zreladdr-y ? := 0x80008000 >> arch/arm/mach-pnx4008/Makefile.boot: ? ? zreladdr-y ? := 0x80008000 >> arch/arm/mach-mx5/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x90008000 >> arch/arm/mach-mxc91231/Makefile.boot: ? ?zreladdr-y ? := 0x90008000 >> arch/arm/mach-iop32x/Makefile.boot: ? ? ?zreladdr-y ? := 0xa0008000 >> arch/arm/mach-pxa/Makefile.boot: ? ? ? ? zreladdr-y ? := 0xa0008000 >> arch/arm/mach-lh7a40x/Makefile.boot: ? ? zreladdr-y ? := 0xc0008000 >> arch/arm/mach-clps711x/Makefile.boot: ? ?zreladdr-y ? := 0xc0028000 >> arch/arm/mach-aaec2000/Makefile.boot: ? ?zreladdr-y ? := 0xf0008000 >> arch/arm/mach-l7200/Makefile.boot: ? ? ? zreladdr-y ? := 0xf0008000 >> >> Depends on other options/macros, but still can be auto calculated by >> masking PC with 0xf000_0000: >> >> arch/arm/mach-bcmring/Makefile.boot: ? ? zreladdr-y ? := $(CONFIG_BCM_ZRELADDR) >> * refer to arch/arm/configs/bcmring_defconfig:CONFIG_BCM_ZRELADDR=0x8000 >> arch/arm/mach-h720x/Makefile.boot: ? ? ? zreladdr-$(CONFIG_ARCH_H720X) := 0x40008000 >> arch/arm/mach-shmobile/Makefile.boot: ? ?zreladdr-y ? := $(__ZRELADDR) >> * __ZRELADDR depends on CONFIG_MEMORY_START >> arch/arm/configs/ap4evb_defconfig: ? ?CONFIG_MEMORY_START=0x40000000 (SH7372) >> arch/arm/configs/g3evm_defconfig: ? ? CONFIG_MEMORY_START=0x50000000 (SH7367) >> arch/arm/configs/g4evm_defconfig: ? ? CONFIG_MEMORY_START=0x40000000 (SH7377) >> >> arch/arm/mach-at91/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x70008000 (CONFIG_ARCH_AT91CAP9) >> arch/arm/mach-at91/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x70008000 (CONFIG_ARCH_AT91SAM9G45) >> arch/arm/mach-at91/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x20008000 (CONFIG_ARCH_AT91) >> arch/arm/mach-davinci/Makefile.boot: ? ? zreladdr-y ? := 0xc0008000 (CONFIG_ARCH_DAVINCI_DA8XX) >> arch/arm/mach-davinci/Makefile.boot: ? ? zreladdr-y ? := 0x80008000 (!CONFIG_ARCH_DAVINCI_DA8XX) >> arch/arm/mach-ep93xx/Makefile.boot: ? ? ?zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) ? ? := 0x00008000 >> arch/arm/mach-ep93xx/Makefile.boot: ? ? ?zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) ? ? ? ? ?:= 0xc0008000 >> arch/arm/mach-ep93xx/Makefile.boot: ? ? ?zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) ? ? ? ? ?:= 0xd0008000 >> arch/arm/mach-ep93xx/Makefile.boot: ? ? ?zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) ? ? ? ? ?:= 0xe0008000 >> arch/arm/mach-ep93xx/Makefile.boot: ? ? ?zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) ? ?:= 0xf0008000 >> arch/arm/mach-gemini/Makefile.boot: ? ? ?zreladdr-y ? := 0x00008000 (CONFIG_GEMINI_MEM_SWAP) >> arch/arm/mach-gemini/Makefile.boot: ? ? ?zreladdr-y ? := 0x10008000 (!CONFIG_GEMINI_MEM_SWAP) >> arch/arm/mach-mx2/Makefile.boot: ? ? ? ? zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000 >> arch/arm/mach-mx2/Makefile.boot: ? ? ? ? zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 >> arch/arm/mach-realview/Makefile.boot: ? ?zreladdr-y ? := 0x70008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) >> arch/arm/mach-realview/Makefile.boot: ? ?zreladdr-y ? := 0x00008000 (CONFIG_REALVIEW_HIGH_PHYS_OFFSET) >> arch/arm/mach-sa1100/Makefile.boot: ? ? ?zreladdr-y ? := 0xc0008000 >> arch/arm/mach-sa1100/Makefile.boot: ? ? ?zreladdr-$(CONFIG_SA1111) := 0xc0208000 >> >> Machines where ZRELADDR cannot be auto calcuated: >> >> arch/arm/mach-mx1/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x08008000 >> arch/arm/mach-shark/Makefile.boot: ? ? ? zreladdr-y ? := 0x08008000 >> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x28E08000 >> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x48008000 > I care about mx1, so I would prefer using 0xf8000000. Fair enough actually. And my guess of the u300 architecture is the phys offset actually starts from 0x2800_0000 or 0x4800_0000 which is also covered by 0xf800_0000. And I think u300 can actually get rid of those inconsistent addresses by other means though we all know it might be suffering from the communication processor side of the memory allocation. > > What do you think about requiring r4 to be set to physoffset as I did in > my series? My only concern is to impose less restrictions on the boot loaders. And zImage is only one of the possible headers we may have: * vmlinux can actually directly booted into as long as it's placed at the right place * uImage, with zImage or vmlinux (raw or compressed) encapsulated * zImage * xipImage * bootpImage I'd really like to separate the guess work into two parts so they don't have dependencies. > This way zImage would already know PHYSOFFSET and so didn't > need to guess ZRELADDR. ?OK, until most bootloaders are fixed we need > to guess, too. ?But at least this would provide a way to stop guessing > wrong for the affected platforms. > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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:23 ` Linus Walleij 1 sibling, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 9:58 UTC (permalink / raw) To: linux-arm-kernel Hello Eric, > > What do you think about requiring r4 to be set to physoffset as I did in > > my series? > > My only concern is to impose less restrictions on the boot loaders. While it remains optional without runtime physoffset it's OK if you ask me. > And zImage is only one of the possible headers we may have: > > * vmlinux can actually directly booted into as long as it's placed at the > right place > * uImage, with zImage or vmlinux (raw or compressed) encapsulated > * zImage > * xipImage > * bootpImage bootpimage is still used? In a different thread I suggested to remove it. The others are just a wrapped vmlinux that needs to be aware anyhow. And the wrappers only need to pass r4 additionally to r2 and r3 through. > I'd really like to separate the guess work into two parts so they don't > have dependencies. But zreladdr is always physoffset + textoffset, isn't it? So you should use the same guess for both physoffset and zreladdr, no? And if you do it properly, it should even be possible to reuse the same code for all locations. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:58 ` Uwe Kleine-König @ 2010-06-10 10:20 ` Eric Miao 2010-06-10 22:06 ` Linus Walleij 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-10 10:20 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hello Eric, > >> > What do you think about requiring r4 to be set to physoffset as I did in >> > my series? >> >> My only concern is to impose less restrictions on the boot loaders. > While it remains optional without runtime physoffset it's OK if you ask > me. > >> And zImage is only one of the possible headers we may have: >> >> ?* vmlinux can actually directly booted into as long as it's placed at the >> ? ?right place >> ?* uImage, with zImage or vmlinux (raw or compressed) encapsulated >> ?* zImage >> ?* xipImage >> ?* bootpImage > bootpimage is still used? ?In a different thread I suggested to remove > it. > The others are just a wrapped vmlinux that needs to be aware anyhow. > And the wrappers only need to pass r4 additionally to r2 and r3 through. > >> I'd really like to separate the guess work into two parts so they don't >> have dependencies. > But zreladdr is always physoffset + textoffset, isn't it? I'm not completely sure about the u300 case. > So you should > use the same guess for both physoffset and zreladdr, no? My understanding is that separating guess of phys_offset and zreladdr might be a smoother migration path at this moment and yes it's a trade off. > And if you do it properly, it should even be possible to reuse the same > code for all locations. > > Best regards > Uwe > > -- > Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?| > Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?| > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 10:20 ` Eric Miao @ 2010-06-10 22:06 ` Linus Walleij 0 siblings, 0 replies; 138+ messages in thread From: Linus Walleij @ 2010-06-10 22:06 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Eric Miao <eric.miao@canonical.com>: > 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: >> But zreladdr is always physoffset + textoffset, isn't it? > > I'm not completely sure about the u300 case. OK as you see in mach-u300/Makefile.boot we have ZRELADDR at two different locations: 0x28E08000 or 0x48008000 (textoffset is 0x8000 IIRC) The stuff in mach-u300/include/memory.h play with the Kconfig options in mach-u300/Kconfig and is supposed to provide dynamic resize of the memory for the 0x28e08000 variant, because that variant can actually be reconfigured by the boot loader (memory will be assigned to another CPU). Then PHYS_OFFSET is set to the closest 2MiB boundary toward lower addresses since this is required by ARM Linux. As you can see in the Kconfig we currently have 13 MiB meaning PHYS_OFFSET will be 0x28000000 + (13 - 13&1) *1024*1024 = 0x28C00000 This way we comply with the 2MiB alignment requirement, even though in this case the actual physical memory begins at 0x28D00000. So the first MiB does not really exist. This is then compensated for in arch/arm/mm/mmu.c: /* * U300 - This platform family can share physical memory * between two ARM cpus, one running Linux and the other * running another OS. */ if (machine_is_u300()) { #ifdef CONFIG_MACH_U300_SINGLE_RAM #if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \ CONFIG_MACH_U300_2MB_ALIGNMENT_FIX res_size = 0x00100000; #endif #endif } So we reserve the first MiB which is not actually memory, so that this will not be used, and Linux will actually make use of the memory from 0x28D00000. If we had reserved 14MiB instead it would be: 0x28000000 + (14 - 14&1) *1024*1024 = 0x28E00000 And then it would have matched. The ZRELADDR in Makefile.boot is actually just some convention for the bootloader, it will work as long as we shrink the memory used by the other CPU, if we expand it past 14MiB everything breaks, like for 16 MiB for the other CPU physical memory begins at 0x29000000 and trying to have ZRELADDR at 28e08000 will just result in a bus error. So the relation between ZRELADDR and PHYS_OFFSET on the U300 is: if CONFIG_MACH_U300_SINGLE_RAM PHYS_OFFSET = 0x28000000 + reserved_for_other_cpu_rounded_to_closest_2MiB_lower_addresses ZRELADDR = 0x28e00000 + textoffset else PHYS_OFFSET = 0x48000000 ZRELADDR = 0x48000000 + textoffset endif So the assumption holds if !CONFIG_MACH_U300_SINGLE_RAM Else it is complicated. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:18 ` Eric Miao 2010-06-10 9:58 ` Uwe Kleine-König @ 2010-06-10 22:23 ` Linus Walleij 2010-06-11 1:34 ` Eric Miao 1 sibling, 1 reply; 138+ messages in thread From: Linus Walleij @ 2010-06-10 22:23 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Eric Miao <eric.miao@canonical.com>: >>> arch/arm/mach-mx1/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x08008000 >>> arch/arm/mach-shark/Makefile.boot: ? ? ? zreladdr-y ? := 0x08008000 >>> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x28E08000 >>> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x48008000 >> I care about mx1, so I would prefer using 0xf8000000. > > Fair enough actually. And my guess of the u300 architecture is the phys > offset actually starts from 0x2800_0000 or 0x4800_0000 which is also > covered by 0xf800_0000. This is correct and incorrect. :-) In the latter case yes, it is always at 0x48000000 In the other case the physical memory is indeed at 0x28000000 but the range reserved for the other (ACC) CPU is locked by the boot loader, and read/write results in a bus error. So this is compile-time configurable. It won't be more than a few MiB though, typically 13. > And I think u300 can actually get rid of those > inconsistent addresses by other means though we all know it might be > suffering from the communication processor side of the memory allocation. Any ideas, I'd be happy to implement them. Any details you need, just ask. Yours, Linus Walleij ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 22:23 ` Linus Walleij @ 2010-06-11 1:34 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-11 1:34 UTC (permalink / raw) To: linux-arm-kernel 2010/6/11 Linus Walleij <linus.ml.walleij@gmail.com>: > 2010/6/10 Eric Miao <eric.miao@canonical.com>: > >>>> arch/arm/mach-mx1/Makefile.boot: ? ? ? ? zreladdr-y ? := 0x08008000 >>>> arch/arm/mach-shark/Makefile.boot: ? ? ? zreladdr-y ? := 0x08008000 >>>> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x28E08000 >>>> arch/arm/mach-u300/Makefile.boot: ? ? ? ?zreladdr-y ? := 0x48008000 >>> I care about mx1, so I would prefer using 0xf8000000. >> >> Fair enough actually. And my guess of the u300 architecture is the phys >> offset actually starts from 0x2800_0000 or 0x4800_0000 which is also >> covered by 0xf800_0000. > > This is correct and incorrect. :-) > > In the latter case yes, it is always at 0x48000000 > > In the other case the physical memory is indeed at 0x28000000 but > the range reserved for the other (ACC) CPU is locked by the boot > loader, and read/write results in a bus error. So this is compile-time > configurable. > > It won't be more than a few MiB though, typically 13. > >> And I think u300 can actually get rid of those >> inconsistent addresses by other means though we all know it might be >> suffering from the communication processor side of the memory allocation. > > Any ideas, I'd be happy to implement them. > Is it possible to reserve the memory in machine_desc.fixup? though not sure about if the memory will ever be accessed in the early stage. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-10 9:00 ` Uwe Kleine-König 2010-06-10 9:16 ` Russell King - ARM Linux 2010-06-10 9:18 ` Eric Miao @ 2010-06-10 18:40 ` Nicolas Pitre 2 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-06-10 18:40 UTC (permalink / raw) To: linux-arm-kernel On Thu, 10 Jun 2010, Uwe Kleine-K?nig wrote: > > - or the assumption of the zImage being loaded by the boot > > loader within 256MB from the start address is simply > > incorrect > Hmmm, this makes the image depending on the bootloader. Not that nice. > > What do you think about requiring r4 to be set to physoffset as I did in > my series? This way zImage would already know PHYSOFFSET and so didn't > need to guess ZRELADDR. No. That would make the dependency on the bootloader even _worse_. And the fact is that most ARM targets have 256MB of RAM or less anyway, making this condition pretty hard to miss. For those very few targets out there with more than 256MB of RAM it is rather safe to presume that they do load zImage/uImage in the first 256MB of RAM already, and making this condition effective for the future is not that bad. And if you *really* can't satisfy that condition which would be really odd, then there is still the Kconfig option. Compared to this, the conditions for the placement of zImage on x86 are far more restrictive. So I much prefer to use generally safe assumptions which are compatible with existing bootloaders rather than having a new boot requirement for this. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao ` (2 preceding siblings ...) 2010-06-10 9:00 ` Uwe Kleine-König @ 2010-06-10 22:17 ` Linus Walleij 2010-06-11 6:37 ` Uwe Kleine-König 2010-06-11 4:27 ` srinidhi 2010-09-02 21:21 ` Russell King - ARM Linux 5 siblings, 1 reply; 138+ messages in thread From: Linus Walleij @ 2010-06-10 22:17 UTC (permalink / raw) To: linux-arm-kernel 2010/6/3 Eric Miao <eric.miao@canonical.com>: > +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_UX5XX || 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 > + ? ? ? default 0x50008000 if ARCH_S3C64XX || ARCH_SH7367 > + ? ? ? default 0x60008000 if ARCH_VEXPRESS > + ? ? ? default 0x80008000 if ARCH_MX25 || ARCH_MX3 || ARCH_NETX ||\ > + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ARCH_OMAP2 || 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 This looks correct so Acked-by: Linus Walleij <linus.walleij@stericsson.com> I assume it should be submitted simultaneously with a patch nuking off all Makefile.boot files and that infrastructure then? Yours, Linus Walleij ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-11 6:37 UTC (permalink / raw) To: linux-arm-kernel Hello Linus, On Fri, Jun 11, 2010 at 12:17:44AM +0200, Linus Walleij wrote: > I assume it should be submitted simultaneously with a patch nuking off > all Makefile.boot files and that infrastructure then? Only when bootp is deleted or fixed not to use these variables. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-11 6:37 ` Uwe Kleine-König @ 2010-06-17 19:33 ` Russell King - ARM Linux 0 siblings, 0 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-06-17 19:33 UTC (permalink / raw) To: linux-arm-kernel On Fri, Jun 11, 2010 at 08:37:33AM +0200, Uwe Kleine-K?nig wrote: > Hello Linus, > > On Fri, Jun 11, 2010 at 12:17:44AM +0200, Linus Walleij wrote: > > I assume it should be submitted simultaneously with a patch nuking off > > all Makefile.boot files and that infrastructure then? > Only when bootp is deleted or fixed not to use these variables. You can't really "fix" it not to use these variables. The placement of things like the ramdisk image is something that can only be specified with a certain amount of information, such as where the kernel will be located, how large the decompressed kernel will be, where the RAM is located, whether there's any platform specific restrictions on what RAM can be used. ARM is its own enemy here - not having started out with the memory architected to be in a certain location like it is on x86 makes all this very much more complicated, and I doubt that any wrapper around the kernel which performs in a way like the bootp wrapper could be made to work reliably without being told explicitly where to place stuff. And I'm not in favour of it being deleted; there are boot loaders out there which can only fetch and boot one image. Such boot loaders make it difficult to wrap a ramdisk image with the kernel. The bootp wrapper solves that. It's also not something you want to use ZBOOT=y with. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao ` (3 preceding siblings ...) 2010-06-10 22:17 ` Linus Walleij @ 2010-06-11 4:27 ` srinidhi 2010-09-02 21:21 ` Russell King - ARM Linux 5 siblings, 0 replies; 138+ messages in thread From: srinidhi @ 2010-06-11 4:27 UTC (permalink / raw) To: linux-arm-kernel On Thu, 2010-06-03 at 09:36 +0200, Eric Miao wrote: (...) > + > +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_UX5XX || ARCH_VERSATILE || ARCH_W90X900 s/ARCH_UX5XX/ARCH_U8500 Srinidhi ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao ` (4 preceding siblings ...) 2010-06-11 4:27 ` srinidhi @ 2010-09-02 21:21 ` Russell King - ARM Linux 2010-09-02 21:27 ` Russell King - ARM Linux 5 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-02 21:21 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: > From: Eric Miao <eric.y.miao@gmail.com> > > Original idea and prototype came from Nicolas Pitre. > > As long as the zImage is placed within the 256MB range from the > start of the memory, ZRELADDR (Address where the decompressed > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) > can be determined at run-time by masking PC with 0xf000_0000. > > Running through all the Makefile.boot, all those zreladdr-y > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > run-time. > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > CONFIG_ZRELADDR _must_ be explicitly specified if: > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > a maksing of PC with 0xf000_0000 will result an incorrect > address. > > - or the assumption of the zImage being loaded by the boot > loader within 256MB from the start address is simply > incorrect > > - or when ZBOOT_ROM is used, where the above assumption is > normally wrong > > List of all Makefile.boot: Not so. What happened to H720x platforms, which are now broken? Any chance of fixing the regression that this introduced? http://armlinux.simtec.co.uk/kautobuild/2.6.36-rc3/h7202_defconfig/zimage.log ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 0 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-02 21:27 UTC (permalink / raw) To: linux-arm-kernel On Thu, Sep 02, 2010 at 10:21:45PM +0100, Russell King - ARM Linux wrote: > On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: > > From: Eric Miao <eric.y.miao@gmail.com> > > > > Original idea and prototype came from Nicolas Pitre. > > > > As long as the zImage is placed within the 256MB range from the > > start of the memory, ZRELADDR (Address where the decompressed > > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) > > can be determined at run-time by masking PC with 0xf000_0000. > > > > Running through all the Makefile.boot, all those zreladdr-y > > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > > run-time. > > > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > > CONFIG_ZRELADDR _must_ be explicitly specified if: > > > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > > a maksing of PC with 0xf000_0000 will result an incorrect > > address. > > > > - or the assumption of the zImage being loaded by the boot > > loader within 256MB from the start address is simply > > incorrect > > > > - or when ZBOOT_ROM is used, where the above assumption is > > normally wrong > > > > List of all Makefile.boot: > > Not so. What happened to H720x platforms, which are now broken? > Any chance of fixing the regression that this introduced? > > http://armlinux.simtec.co.uk/kautobuild/2.6.36-rc3/h7202_defconfig/zimage.log And while we're here, why hasn't anyone removed the zreladdr definitions in Makefile.boot yet? Or do we still need them and we now have the same information defined in two different places? This all looks like a half-done job at the moment. Please clean it up. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 13:33 ` Eric Miao 0 siblings, 2 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 7:48 UTC (permalink / raw) To: linux-arm-kernel Hello, On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > On Thu, Sep 02, 2010 at 10:21:45PM +0100, Russell King - ARM Linux wrote: > > On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: > > > From: Eric Miao <eric.y.miao@gmail.com> > > > > > > Original idea and prototype came from Nicolas Pitre. > > > > > > As long as the zImage is placed within the 256MB range from the > > > start of the memory, ZRELADDR (Address where the decompressed > > > kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) > > > can be determined at run-time by masking PC with 0xf000_0000. > > > > > > Running through all the Makefile.boot, all those zreladdr-y > > > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at > > > run-time. > > > > > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > > > CONFIG_ZRELADDR _must_ be explicitly specified if: > > > > > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means > > > a maksing of PC with 0xf000_0000 will result an incorrect > > > address. > > > > > > - or the assumption of the zImage being loaded by the boot > > > loader within 256MB from the start address is simply > > > incorrect > > > > > > - or when ZBOOT_ROM is used, where the above assumption is > > > normally wrong > > > > > > List of all Makefile.boot: > > > > Not so. What happened to H720x platforms, which are now broken? > > Any chance of fixing the regression that this introduced? > > > > http://armlinux.simtec.co.uk/kautobuild/2.6.36-rc3/h7202_defconfig/zimage.log > > And while we're here, why hasn't anyone removed the zreladdr > definitions in Makefile.boot yet? Or do we still need them and > we now have the same information defined in two different places? > > This all looks like a half-done job at the moment. Please clean it up. The original series removed all the 'Makefile.boot's IIRC. Currently the params_phys-y value is needed though. So should I send a patch that just removes the zreladdr values? Eric, what are your plans regarding the runtime-physoffset stuff? (I currently have none.) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 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 ` (9 more replies) 2010-09-03 13:33 ` Eric Miao 1 sibling, 10 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:55 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Fri, Sep 03, 2010 at 09:48:06AM +0200, Uwe Kleine-K?nig wrote: > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > > > > And while we're here, why hasn't anyone removed the zreladdr > > definitions in Makefile.boot yet? Or do we still need them and > > we now have the same information defined in two different places? > > > > This all looks like a half-done job at the moment. Please clean it up. > The original series removed all the 'Makefile.boot's IIRC. Currently > the params_phys-y value is needed though. So should I send a patch that > just removes the zreladdr values? I looked into that and found some more issues. I hope I catched them all now. While doing that removing the zreladdr lines was nearly for free. So I did that, too. I couldn't determine who to cc: for the ARCH_H720X patch. Russell, do you maintain this platform? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 2010-09-03 9:55 ` Uwe Kleine-König @ 2010-09-03 9:56 ` Uwe Kleine-König 2010-09-03 17:46 ` Erik Gilling 2010-09-03 9:56 ` Uwe Kleine-König ` (8 subsequent siblings) 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel This was missed in commit e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) Cc: linux-tegra at vger.kernel.org Cc: Colin Cross <ccross@android.com> Cc: Erik Gilling <konkers@android.com> Cc: Olof Johansson <olof@lixom.net> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 1 + arch/arm/mach-tegra/Makefile.boot | 1 - 2 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a7ed21f..16bc8eb 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1601,6 +1601,7 @@ config ZRELADDR ARCH_ORION5X ||\ ARCH_SPEAR3XX ||\ ARCH_SPEAR6XX ||\ + ARCH_TEGRA ||\ ARCH_U8500 ||\ ARCH_VERSATILE ||\ ARCH_W90X900 diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot index db52d61..6044e12 100644 --- a/arch/arm/mach-tegra/Makefile.boot +++ b/arch/arm/mach-tegra/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00008000 params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00000100 initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) := 0x00800000 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Erik Gilling @ 2010-09-03 17:46 UTC (permalink / raw) To: linux-arm-kernel Yeah I saw that and posted a patch on the 27th and sent a pull request to Linus on Wednesday. Hopefully it will make rc4. Cheers, ERik On Fri, Sep 3, 2010 at 2:56 AM, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: > This was missed in commit > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > Cc: linux-tegra at vger.kernel.org > Cc: Colin Cross <ccross@android.com> > Cc: Erik Gilling <konkers@android.com> > Cc: Olof Johansson <olof@lixom.net> > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ?| ? ?1 + > ?arch/arm/mach-tegra/Makefile.boot | ? ?1 - > ?2 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index a7ed21f..16bc8eb 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1601,6 +1601,7 @@ config ZRELADDR > ? ? ? ? ? ? ? ?ARCH_ORION5X ||\ > ? ? ? ? ? ? ? ?ARCH_SPEAR3XX ||\ > ? ? ? ? ? ? ? ?ARCH_SPEAR6XX ||\ > + ? ? ? ? ? ? ? ARCH_TEGRA ||\ > ? ? ? ? ? ? ? ?ARCH_U8500 ||\ > ? ? ? ? ? ? ? ?ARCH_VERSATILE ||\ > ? ? ? ? ? ? ? ?ARCH_W90X900 > diff --git a/arch/arm/mach-tegra/Makefile.boot b/arch/arm/mach-tegra/Makefile.boot > index db52d61..6044e12 100644 > --- a/arch/arm/mach-tegra/Makefile.boot > +++ b/arch/arm/mach-tegra/Makefile.boot > @@ -1,3 +1,2 @@ > -zreladdr-$(CONFIG_ARCH_TEGRA_2x_SOC) ? := 0x00008000 > ?params_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) ? ? ? ?:= 0x00000100 > ?initrd_phys-$(CONFIG_ARCH_TEGRA_2x_SOC) ? ? ? ?:= 0x00800000 > -- > 1.7.1 > > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 2010-09-03 17:46 ` Erik Gilling @ 2010-09-03 19:01 ` Uwe Kleine-König 2010-09-03 19:19 ` Erik Gilling 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 19:01 UTC (permalink / raw) To: linux-arm-kernel Hi Erik, On Fri, Sep 03, 2010 at 10:46:43AM -0700, Erik Gilling wrote: > Yeah I saw that and posted a patch on the 27th and sent a pull request > to Linus on Wednesday. Hopefully it will make rc4. OK for me, I'll keep it in my queue and will drop it when Linus got the change. You didn't remove the line from arch/arm/mach-tegra/Makefile.boot, though. (hmm, I thought that patches that touch common files like arch/arm/Kconfig should go via rmk?!) (BTW, I think lines like Change-Id: Ic28177a645e2d5bc53099c15dcd5b1ae7f3d5208 in the commit log are OK in general if they help you in any way. Maybe just prefix it something unique, 'Android-Change-Id:'?) Best regards Uwe > On Fri, Sep 3, 2010 at 2:56 AM, Uwe Kleine-K?nig > <u.kleine-koenig@pengutronix.de> wrote: > > This was missed in commit > > > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > > > Cc: linux-tegra at vger.kernel.org > > Cc: Colin Cross <ccross@android.com> > > Cc: Erik Gilling <konkers@android.com> > > Cc: Olof Johansson <olof@lixom.net> > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > --- > > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ?| ? ?1 + > > ?arch/arm/mach-tegra/Makefile.boot | ? ?1 - > > ?2 files changed, 1 insertions(+), 1 deletions(-) -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Erik Gilling @ 2010-09-03 19:19 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 3, 2010 at 12:01 PM, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: > On Fri, Sep 03, 2010 at 10:46:43AM -0700, Erik Gilling wrote: >> Yeah I saw that and posted a patch on the 27th and sent a pull request >> to Linus on Wednesday. ?Hopefully it will make rc4. > OK for me, I'll keep it in my queue and will drop it when Linus got > the change. ?You didn't remove the line from > arch/arm/mach-tegra/Makefile.boot, though. I'll do that too. > (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. > (BTW, I think lines like > Change-Id: Ic28177a645e2d5bc53099c15dcd5b1ae7f3d5208 in the commit log > are OK in general if they help you in any way. ?Maybe just prefix it > something unique, 'Android-Change-Id:'?) These are used by our code review system (https://review.source.android.com) so changing the name is just as easy as taking it out. Plus the patches that end up getting posted are rarely the same ones that are on top of our own tree. -Erik ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 19:23 UTC (permalink / raw) To: linux-arm-kernel 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 > <u.kleine-koenig@pengutronix.de> wrote: > > On Fri, Sep 03, 2010 at 10:46:43AM -0700, Erik Gilling wrote: > >> Yeah I saw that and posted a patch on the 27th and sent a pull request > >> to Linus on Wednesday. ?Hopefully it will make rc4. > > OK for me, I'll keep it in my queue and will drop it when Linus got > > the change. ?You didn't remove the line from > > arch/arm/mach-tegra/Makefile.boot, though. > > I'll do that too. Note that Linus don't like to pull branches that don't match the pull request. (This makes him feel pulling uncooked changes.) If you do, you can add my Ack. > > (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? Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-08 9:11 UTC (permalink / raw) To: linux-arm-kernel 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.) ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 2010-09-08 9:11 ` Russell King - ARM Linux @ 2010-09-08 11:56 ` Russell King - ARM Linux 2010-09-08 12:16 ` Uwe Kleine-König 0 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-08 11:56 UTC (permalink / raw) To: linux-arm-kernel 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 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 2010-09-08 11:56 ` Russell King - ARM Linux @ 2010-09-08 12:16 ` Uwe Kleine-König 2010-09-08 22:07 ` Russell King - ARM Linux 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-08 12:16 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Wed, Sep 08, 2010 at 12:56:10PM +0100, Russell King - ARM Linux wrote: > 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. Would be OK for me. We might have to fix up some machines though. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-08 22:07 UTC (permalink / raw) To: linux-arm-kernel On Wed, Sep 08, 2010 at 02:16:34PM +0200, Uwe Kleine-K?nig wrote: > Hello Russell, > > On Wed, Sep 08, 2010 at 12:56:10PM +0100, Russell King - ARM Linux wrote: > > 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. > Would be OK for me. We might have to fix up some machines though. Any ideas what needs to be fixed? And is that an acked-by ? ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-09 7:24 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Wed, Sep 08, 2010 at 11:07:10PM +0100, Russell King - ARM Linux wrote: > On Wed, Sep 08, 2010 at 02:16:34PM +0200, Uwe Kleine-K?nig wrote: > > Hello Russell, > > > > On Wed, Sep 08, 2010 at 12:56:10PM +0100, Russell King - ARM Linux wrote: > > > 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. > > Would be OK for me. We might have to fix up some machines though. > > Any ideas what needs to be fixed? I thought that there may be platforms that don't have a specification of zreladdr-y anymore in Makefile.boot. Maybe the Tegra-stuff that Linus should pull removes it. Other than that I'd check s3c. The rest should be OK. > And is that an acked-by ? yeah, you can take it as such. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 1/7] ARM: specify ZRELADDR for ARCH_TEGRA 2010-09-09 7:24 ` Uwe Kleine-König @ 2010-09-09 16:56 ` Erik Gilling 0 siblings, 0 replies; 138+ messages in thread From: Erik Gilling @ 2010-09-09 16:56 UTC (permalink / raw) To: linux-arm-kernel On Thu, Sep 9, 2010 at 12:24 AM, Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> wrote: >> Any ideas what needs to be fixed? > I thought that there may be platforms that don't have a specification of > zreladdr-y anymore in Makefile.boot. ?Maybe the Tegra-stuff that Linus > should pull removes it. ?Other than that I'd check s3c. ?The rest should > be OK. The tegra patch does not remove the zreladdr-y in Makefile.boot. -Erik ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr 2010-09-03 9:55 ` Uwe Kleine-König @ 2010-09-03 9:56 ` Uwe Kleine-König 2010-09-03 9:56 ` Uwe Kleine-König ` (8 subsequent siblings) 9 siblings, 0 replies; 138+ messages in thread From: @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel The calculated value in Makefile.boot isn't used anymore since e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) and physoffset can better be set in mach/memory.h depending on the actual machine type. Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: linux-sh@vger.kernel.org Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- arch/arm/mach-shmobile/Kconfig | 11 ----------- arch/arm/mach-shmobile/Makefile.boot | 9 --------- arch/arm/mach-shmobile/include/mach/memory.h | 15 ++++++++++++++- 3 files changed, 14 insertions(+), 21 deletions(-) delete mode 100644 arch/arm/mach-shmobile/Makefile.boot diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 54b479c..45e134e 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" menu "Memory configuration" -config MEMORY_START - hex "Physical memory start address" - default "0x50000000" if MACH_G3EVM - default "0x40000000" if MACH_G4EVM - default "0x40000000" if MACH_AP4EVB - default "0x00000000" - ---help--- - Tweak this only when porting to a new machine which does not - already have a defconfig. Changing it from the known correct - value on any of the known systems will only lead to disaster. - config MEMORY_SIZE hex "Physical memory size" default "0x08000000" if MACH_G3EVM diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot deleted file mode 100644 index 1c08ee9..0000000 --- a/arch/arm/mach-shmobile/Makefile.boot +++ /dev/null @@ -1,9 +0,0 @@ -__ZRELADDR := $(shell /bin/bash -c 'printf "0x%08x" \ - $$[$(CONFIG_MEMORY_START) + 0x8000]') - - zreladdr-y := $(__ZRELADDR) - -# Unsupported legacy stuff -# -#params_phys-y (Instead: Pass atags pointer in r2) -#initrd_phys-y (Instead: Use compiled-in initramfs) diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h index 377584e..100f734 100644 --- a/arch/arm/mach-shmobile/include/mach/memory.h +++ b/arch/arm/mach-shmobile/include/mach/memory.h @@ -1,7 +1,20 @@ #ifndef __ASM_MACH_MEMORY_H #define __ASM_MACH_MEMORY_H -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) +#define SH7367_PHYS_OFFSET UL(0x50000000) +#define SH7372_PHYS_OFFSET UL(0x40000000) +#define SH7377_PHYS_OFFSET UL(0x40000000) + +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) +# if defined(CONFIG_ARCH_SH7367) +# define PHYS_OFFSET SH7367_PHYS_OFFSET +# elif defined(CONFIG_ARCH_SH7372) +# define PHYS_OFFSET SH7372_PHYS_OFFSET +# elif defined(CONFIG_ARCH_SH7377) +# define PHYS_OFFSET SH7377_PHYS_OFFSET +# endif +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ + #define MEM_SIZE UL(CONFIG_MEMORY_SIZE) /* DMA memory at 0xf6000000 - 0xffdfffff */ -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr @ 2010-09-03 9:56 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel The calculated value in Makefile.boot isn't used anymore since e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) and physoffset can better be set in mach/memory.h depending on the actual machine type. Cc: Paul Mundt <lethal@linux-sh.org> Cc: Magnus Damm <magnus.damm@gmail.com> Cc: linux-sh at vger.kernel.org Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/mach-shmobile/Kconfig | 11 ----------- arch/arm/mach-shmobile/Makefile.boot | 9 --------- arch/arm/mach-shmobile/include/mach/memory.h | 15 ++++++++++++++- 3 files changed, 14 insertions(+), 21 deletions(-) delete mode 100644 arch/arm/mach-shmobile/Makefile.boot diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 54b479c..45e134e 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" menu "Memory configuration" -config MEMORY_START - hex "Physical memory start address" - default "0x50000000" if MACH_G3EVM - default "0x40000000" if MACH_G4EVM - default "0x40000000" if MACH_AP4EVB - default "0x00000000" - ---help--- - Tweak this only when porting to a new machine which does not - already have a defconfig. Changing it from the known correct - value on any of the known systems will only lead to disaster. - config MEMORY_SIZE hex "Physical memory size" default "0x08000000" if MACH_G3EVM diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot deleted file mode 100644 index 1c08ee9..0000000 --- a/arch/arm/mach-shmobile/Makefile.boot +++ /dev/null @@ -1,9 +0,0 @@ -__ZRELADDR := $(shell /bin/bash -c 'printf "0x%08x" \ - $$[$(CONFIG_MEMORY_START) + 0x8000]') - - zreladdr-y := $(__ZRELADDR) - -# Unsupported legacy stuff -# -#params_phys-y (Instead: Pass atags pointer in r2) -#initrd_phys-y (Instead: Use compiled-in initramfs) diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h index 377584e..100f734 100644 --- a/arch/arm/mach-shmobile/include/mach/memory.h +++ b/arch/arm/mach-shmobile/include/mach/memory.h @@ -1,7 +1,20 @@ #ifndef __ASM_MACH_MEMORY_H #define __ASM_MACH_MEMORY_H -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) +#define SH7367_PHYS_OFFSET UL(0x50000000) +#define SH7372_PHYS_OFFSET UL(0x40000000) +#define SH7377_PHYS_OFFSET UL(0x40000000) + +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) +# if defined(CONFIG_ARCH_SH7367) +# define PHYS_OFFSET SH7367_PHYS_OFFSET +# elif defined(CONFIG_ARCH_SH7372) +# define PHYS_OFFSET SH7372_PHYS_OFFSET +# elif defined(CONFIG_ARCH_SH7377) +# define PHYS_OFFSET SH7377_PHYS_OFFSET +# endif +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ + #define MEM_SIZE UL(CONFIG_MEMORY_SIZE) /* DMA memory at 0xf6000000 - 0xffdfffff */ -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* Re: [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to 2010-09-03 9:56 ` Uwe Kleine-König @ 2010-09-03 13:39 ` Eric Miao -1 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:39 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: > The calculated value in Makefile.boot isn't used anymore since > > e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > and physoffset can better be set in mach/memory.h depending on the > actual machine type. > > Cc: Paul Mundt <lethal@linux-sh.org> > Cc: Magnus Damm <magnus.damm@gmail.com> > Cc: linux-sh@vger.kernel.org > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > --- > arch/arm/mach-shmobile/Kconfig | 11 ----------- > arch/arm/mach-shmobile/Makefile.boot | 9 --------- > arch/arm/mach-shmobile/include/mach/memory.h | 15 ++++++++++++++- > 3 files changed, 14 insertions(+), 21 deletions(-) > delete mode 100644 arch/arm/mach-shmobile/Makefile.boot > > diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig > index 54b479c..45e134e 100644 > --- a/arch/arm/mach-shmobile/Kconfig > +++ b/arch/arm/mach-shmobile/Kconfig > @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" > > menu "Memory configuration" > > -config MEMORY_START > - hex "Physical memory start address" > - default "0x50000000" if MACH_G3EVM > - default "0x40000000" if MACH_G4EVM > - default "0x40000000" if MACH_AP4EVB > - default "0x00000000" > - ---help--- > - Tweak this only when porting to a new machine which does not > - already have a defconfig. Changing it from the known correct > - value on any of the known systems will only lead to disaster. > - > config MEMORY_SIZE > hex "Physical memory size" > default "0x08000000" if MACH_G3EVM > diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot > deleted file mode 100644 > index 1c08ee9..0000000 > --- a/arch/arm/mach-shmobile/Makefile.boot > +++ /dev/null > @@ -1,9 +0,0 @@ > -__ZRELADDR := $(shell /bin/bash -c 'printf "0x%08x" \ > - $$[$(CONFIG_MEMORY_START) + 0x8000]') > - > - zreladdr-y := $(__ZRELADDR) > - > -# Unsupported legacy stuff > -# > -#params_phys-y (Instead: Pass atags pointer in r2) > -#initrd_phys-y (Instead: Use compiled-in initramfs) > diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h > index 377584e..100f734 100644 > --- a/arch/arm/mach-shmobile/include/mach/memory.h > +++ b/arch/arm/mach-shmobile/include/mach/memory.h > @@ -1,7 +1,20 @@ > #ifndef __ASM_MACH_MEMORY_H > #define __ASM_MACH_MEMORY_H > > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > +#define SH7367_PHYS_OFFSET UL(0x50000000) > +#define SH7372_PHYS_OFFSET UL(0x40000000) > +#define SH7377_PHYS_OFFSET UL(0x40000000) > + > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > +# if defined(CONFIG_ARCH_SH7367) > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7372) > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7377) > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > +# endif > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > + Looks like the CONFIG_MEMORY_START was a configurable option, tho not sure if it can be configured to other values, but making it fixed here doesn't seem to be a consistent change. (meaning there is assumption here). > #define MEM_SIZE UL(CONFIG_MEMORY_SIZE) > > /* DMA memory at 0xf6000000 - 0xffdfffff */ > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr @ 2010-09-03 13:39 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:39 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > The calculated value in Makefile.boot isn't used anymore since > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > and physoffset can better be set in mach/memory.h depending on the > actual machine type. > > Cc: Paul Mundt <lethal@linux-sh.org> > Cc: Magnus Damm <magnus.damm@gmail.com> > Cc: linux-sh at vger.kernel.org > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/mach-shmobile/Kconfig ? ? ? ? ? ? ? | ? 11 ----------- > ?arch/arm/mach-shmobile/Makefile.boot ? ? ? ? | ? ?9 --------- > ?arch/arm/mach-shmobile/include/mach/memory.h | ? 15 ++++++++++++++- > ?3 files changed, 14 insertions(+), 21 deletions(-) > ?delete mode 100644 arch/arm/mach-shmobile/Makefile.boot > > diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig > index 54b479c..45e134e 100644 > --- a/arch/arm/mach-shmobile/Kconfig > +++ b/arch/arm/mach-shmobile/Kconfig > @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" > > ?menu "Memory configuration" > > -config MEMORY_START > - ? ? ? hex "Physical memory start address" > - ? ? ? default "0x50000000" if MACH_G3EVM > - ? ? ? default "0x40000000" if MACH_G4EVM > - ? ? ? default "0x40000000" if MACH_AP4EVB > - ? ? ? default "0x00000000" > - ? ? ? ---help--- > - ? ? ? ? Tweak this only when porting to a new machine which does not > - ? ? ? ? already have a defconfig. Changing it from the known correct > - ? ? ? ? value on any of the known systems will only lead to disaster. > - > ?config MEMORY_SIZE > ? ? ? ?hex "Physical memory size" > ? ? ? ?default "0x08000000" if MACH_G3EVM > diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot > deleted file mode 100644 > index 1c08ee9..0000000 > --- a/arch/arm/mach-shmobile/Makefile.boot > +++ /dev/null > @@ -1,9 +0,0 @@ > -__ZRELADDR ? ? := $(shell /bin/bash -c 'printf "0x%08x" \ > - ? ? ? ? ? ? ? ? ? ?$$[$(CONFIG_MEMORY_START) + 0x8000]') > - > - ? zreladdr-y ? := $(__ZRELADDR) > - > -# Unsupported legacy stuff > -# > -#params_phys-y (Instead: Pass atags pointer in r2) > -#initrd_phys-y (Instead: Use compiled-in initramfs) > diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h > index 377584e..100f734 100644 > --- a/arch/arm/mach-shmobile/include/mach/memory.h > +++ b/arch/arm/mach-shmobile/include/mach/memory.h > @@ -1,7 +1,20 @@ > ?#ifndef __ASM_MACH_MEMORY_H > ?#define __ASM_MACH_MEMORY_H > > -#define PHYS_OFFSET ? ?UL(CONFIG_MEMORY_START) > +#define SH7367_PHYS_OFFSET UL(0x50000000) > +#define SH7372_PHYS_OFFSET UL(0x40000000) > +#define SH7377_PHYS_OFFSET UL(0x40000000) > + > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > +# if defined(CONFIG_ARCH_SH7367) > +# ?define PHYS_OFFSET ?SH7367_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7372) > +# ?define PHYS_OFFSET ?SH7372_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7377) > +# ?define PHYS_OFFSET ?SH7377_PHYS_OFFSET > +# endif > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > + Looks like the CONFIG_MEMORY_START was a configurable option, tho not sure if it can be configured to other values, but making it fixed here doesn't seem to be a consistent change. (meaning there is assumption here). > ?#define MEM_SIZE ? ? ? UL(CONFIG_MEMORY_SIZE) > > ?/* DMA memory at 0xf6000000 - 0xffdfffff */ > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* Re: [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to 2010-09-03 13:39 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr Eric Miao @ 2010-09-03 18:53 ` Uwe Kleine-König -1 siblings, 0 replies; 138+ messages in thread From: @ 2010-09-03 18:53 UTC (permalink / raw) To: linux-arm-kernel Hello Eric, On Fri, Sep 03, 2010 at 09:39:45PM +0800, Eric Miao wrote: > 2010/9/3 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>: > > The calculated value in Makefile.boot isn't used anymore since > > > > e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > > > and physoffset can better be set in mach/memory.h depending on the > > actual machine type. > > > > Cc: Paul Mundt <lethal@linux-sh.org> > > Cc: Magnus Damm <magnus.damm@gmail.com> > > Cc: linux-sh@vger.kernel.org > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > --- > > arch/arm/mach-shmobile/Kconfig | 11 ----------- > > arch/arm/mach-shmobile/Makefile.boot | 9 --------- > > arch/arm/mach-shmobile/include/mach/memory.h | 15 ++++++++++++++- > > 3 files changed, 14 insertions(+), 21 deletions(-) > > delete mode 100644 arch/arm/mach-shmobile/Makefile.boot > > > > diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig > > index 54b479c..45e134e 100644 > > --- a/arch/arm/mach-shmobile/Kconfig > > +++ b/arch/arm/mach-shmobile/Kconfig > > @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" > > > > menu "Memory configuration" > > > > -config MEMORY_START > > - hex "Physical memory start address" > > - default "0x50000000" if MACH_G3EVM > > - default "0x40000000" if MACH_G4EVM > > - default "0x40000000" if MACH_AP4EVB > > - default "0x00000000" > > - ---help--- > > - Tweak this only when porting to a new machine which does not > > - already have a defconfig. Changing it from the known correct > > - value on any of the known systems will only lead to disaster. > > - > > config MEMORY_SIZE > > hex "Physical memory size" > > default "0x08000000" if MACH_G3EVM > > diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot > > deleted file mode 100644 > > index 1c08ee9..0000000 > > --- a/arch/arm/mach-shmobile/Makefile.boot > > +++ /dev/null > > @@ -1,9 +0,0 @@ > > -__ZRELADDR := $(shell /bin/bash -c 'printf "0x%08x" \ > > - $$[$(CONFIG_MEMORY_START) + 0x8000]') > > - > > - zreladdr-y := $(__ZRELADDR) > > - > > -# Unsupported legacy stuff > > -# > > -#params_phys-y (Instead: Pass atags pointer in r2) > > -#initrd_phys-y (Instead: Use compiled-in initramfs) > > diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h > > index 377584e..100f734 100644 > > --- a/arch/arm/mach-shmobile/include/mach/memory.h > > +++ b/arch/arm/mach-shmobile/include/mach/memory.h > > @@ -1,7 +1,20 @@ > > #ifndef __ASM_MACH_MEMORY_H > > #define __ASM_MACH_MEMORY_H > > > > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > > +#define SH7367_PHYS_OFFSET UL(0x50000000) > > +#define SH7372_PHYS_OFFSET UL(0x40000000) > > +#define SH7377_PHYS_OFFSET UL(0x40000000) > > + > > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > > +# if defined(CONFIG_ARCH_SH7367) > > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7372) > > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7377) > > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > > +# endif > > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > > + > > Looks like the CONFIG_MEMORY_START was a configurable option, tho > not sure if it can be configured to other values, but making it fixed here > doesn't seem to be a consistent change. (meaning there is assumption > here). That is why I put RFC in the subject :-) Anyhow, ZRELADDR is hard coded since e69edc79 (without ZRELADDR_AUTO). And the help text suggested to only tweak it "when porting to a new machine which does not already have a defconfig". As a person making a new port should be able to add a new default for ZRELADDR to arch/arm/Kconfig I think it's OK to remove the possibility to create a broken kernel for the people that don't work on a new port. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr @ 2010-09-03 18:53 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 18:53 UTC (permalink / raw) To: linux-arm-kernel Hello Eric, On Fri, Sep 03, 2010 at 09:39:45PM +0800, Eric Miao wrote: > 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > > The calculated value in Makefile.boot isn't used anymore since > > > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > > > and physoffset can better be set in mach/memory.h depending on the > > actual machine type. > > > > Cc: Paul Mundt <lethal@linux-sh.org> > > Cc: Magnus Damm <magnus.damm@gmail.com> > > Cc: linux-sh at vger.kernel.org > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > --- > > ?arch/arm/mach-shmobile/Kconfig ? ? ? ? ? ? ? | ? 11 ----------- > > ?arch/arm/mach-shmobile/Makefile.boot ? ? ? ? | ? ?9 --------- > > ?arch/arm/mach-shmobile/include/mach/memory.h | ? 15 ++++++++++++++- > > ?3 files changed, 14 insertions(+), 21 deletions(-) > > ?delete mode 100644 arch/arm/mach-shmobile/Makefile.boot > > > > diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig > > index 54b479c..45e134e 100644 > > --- a/arch/arm/mach-shmobile/Kconfig > > +++ b/arch/arm/mach-shmobile/Kconfig > > @@ -61,17 +61,6 @@ comment "SH-Mobile System Configuration" > > > > ?menu "Memory configuration" > > > > -config MEMORY_START > > - ? ? ? hex "Physical memory start address" > > - ? ? ? default "0x50000000" if MACH_G3EVM > > - ? ? ? default "0x40000000" if MACH_G4EVM > > - ? ? ? default "0x40000000" if MACH_AP4EVB > > - ? ? ? default "0x00000000" > > - ? ? ? ---help--- > > - ? ? ? ? Tweak this only when porting to a new machine which does not > > - ? ? ? ? already have a defconfig. Changing it from the known correct > > - ? ? ? ? value on any of the known systems will only lead to disaster. > > - > > ?config MEMORY_SIZE > > ? ? ? ?hex "Physical memory size" > > ? ? ? ?default "0x08000000" if MACH_G3EVM > > diff --git a/arch/arm/mach-shmobile/Makefile.boot b/arch/arm/mach-shmobile/Makefile.boot > > deleted file mode 100644 > > index 1c08ee9..0000000 > > --- a/arch/arm/mach-shmobile/Makefile.boot > > +++ /dev/null > > @@ -1,9 +0,0 @@ > > -__ZRELADDR ? ? := $(shell /bin/bash -c 'printf "0x%08x" \ > > - ? ? ? ? ? ? ? ? ? ?$$[$(CONFIG_MEMORY_START) + 0x8000]') > > - > > - ? zreladdr-y ? := $(__ZRELADDR) > > - > > -# Unsupported legacy stuff > > -# > > -#params_phys-y (Instead: Pass atags pointer in r2) > > -#initrd_phys-y (Instead: Use compiled-in initramfs) > > diff --git a/arch/arm/mach-shmobile/include/mach/memory.h b/arch/arm/mach-shmobile/include/mach/memory.h > > index 377584e..100f734 100644 > > --- a/arch/arm/mach-shmobile/include/mach/memory.h > > +++ b/arch/arm/mach-shmobile/include/mach/memory.h > > @@ -1,7 +1,20 @@ > > ?#ifndef __ASM_MACH_MEMORY_H > > ?#define __ASM_MACH_MEMORY_H > > > > -#define PHYS_OFFSET ? ?UL(CONFIG_MEMORY_START) > > +#define SH7367_PHYS_OFFSET UL(0x50000000) > > +#define SH7372_PHYS_OFFSET UL(0x40000000) > > +#define SH7377_PHYS_OFFSET UL(0x40000000) > > + > > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > > +# if defined(CONFIG_ARCH_SH7367) > > +# ?define PHYS_OFFSET ?SH7367_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7372) > > +# ?define PHYS_OFFSET ?SH7372_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7377) > > +# ?define PHYS_OFFSET ?SH7377_PHYS_OFFSET > > +# endif > > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > > + > > Looks like the CONFIG_MEMORY_START was a configurable option, tho > not sure if it can be configured to other values, but making it fixed here > doesn't seem to be a consistent change. (meaning there is assumption > here). That is why I put RFC in the subject :-) Anyhow, ZRELADDR is hard coded since e69edc79 (without ZRELADDR_AUTO). And the help text suggested to only tweak it "when porting to a new machine which does not already have a defconfig". As a person making a new port should be able to add a new default for ZRELADDR to arch/arm/Kconfig I think it's OK to remove the possibility to create a broken kernel for the people that don't work on a new port. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* Re: [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr 2010-09-03 9:56 ` Uwe Kleine-König @ 2010-09-14 8:08 ` Paul Mundt -1 siblings, 0 replies; 138+ messages in thread From: Paul Mundt @ 2010-09-14 8:08 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 03, 2010 at 11:56:53AM +0200, Uwe Kleine-K??nig wrote: > -config MEMORY_START > - hex "Physical memory start address" > - default "0x50000000" if MACH_G3EVM > - default "0x40000000" if MACH_G4EVM > - default "0x40000000" if MACH_AP4EVB > - default "0x00000000" > - ---help--- > - Tweak this only when porting to a new machine which does not > - already have a defconfig. Changing it from the known correct > - value on any of the known systems will only lead to disaster. > - [snip] > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > +#define SH7367_PHYS_OFFSET UL(0x50000000) > +#define SH7372_PHYS_OFFSET UL(0x40000000) > +#define SH7377_PHYS_OFFSET UL(0x40000000) > + > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > +# if defined(CONFIG_ARCH_SH7367) > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7372) > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7377) > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > +# endif > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > + You've taken a board-specific property and made it CPU-specific. There is nothing about these CPUs that mandates memory starting here, it just happens that for the moment we have 1 board per CPU, but that's not an assumption we can really bank on. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr @ 2010-09-14 8:08 ` Paul Mundt 0 siblings, 0 replies; 138+ messages in thread From: Paul Mundt @ 2010-09-14 8:08 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 03, 2010 at 11:56:53AM +0200, Uwe Kleine-K??nig wrote: > -config MEMORY_START > - hex "Physical memory start address" > - default "0x50000000" if MACH_G3EVM > - default "0x40000000" if MACH_G4EVM > - default "0x40000000" if MACH_AP4EVB > - default "0x00000000" > - ---help--- > - Tweak this only when porting to a new machine which does not > - already have a defconfig. Changing it from the known correct > - value on any of the known systems will only lead to disaster. > - [snip] > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > +#define SH7367_PHYS_OFFSET UL(0x50000000) > +#define SH7372_PHYS_OFFSET UL(0x40000000) > +#define SH7377_PHYS_OFFSET UL(0x40000000) > + > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > +# if defined(CONFIG_ARCH_SH7367) > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7372) > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > +# elif defined(CONFIG_ARCH_SH7377) > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > +# endif > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > + You've taken a board-specific property and made it CPU-specific. There is nothing about these CPUs that mandates memory starting here, it just happens that for the moment we have 1 board per CPU, but that's not an assumption we can really bank on. ^ permalink raw reply [flat|nested] 138+ messages in thread
* Re: [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to 2010-09-14 8:08 ` Paul Mundt @ 2010-09-14 12:23 ` Uwe Kleine-König -1 siblings, 0 replies; 138+ messages in thread From: @ 2010-09-14 12:23 UTC (permalink / raw) To: linux-arm-kernel Hello Paul, On Tue, Sep 14, 2010 at 05:08:29PM +0900, Paul Mundt wrote: > On Fri, Sep 03, 2010 at 11:56:53AM +0200, Uwe Kleine-K??nig wrote: > > -config MEMORY_START > > - hex "Physical memory start address" > > - default "0x50000000" if MACH_G3EVM > > - default "0x40000000" if MACH_G4EVM > > - default "0x40000000" if MACH_AP4EVB > > - default "0x00000000" > > - ---help--- > > - Tweak this only when porting to a new machine which does not > > - already have a defconfig. Changing it from the known correct > > - value on any of the known systems will only lead to disaster. > > - > > [snip] > > > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > > +#define SH7367_PHYS_OFFSET UL(0x50000000) > > +#define SH7372_PHYS_OFFSET UL(0x40000000) > > +#define SH7377_PHYS_OFFSET UL(0x40000000) > > + > > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > > +# if defined(CONFIG_ARCH_SH7367) > > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7372) > > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7377) > > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > > +# endif > > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > > + > > You've taken a board-specific property and made it CPU-specific. There is > nothing about these CPUs that mandates memory starting here, it just > happens that for the moment we have 1 board per CPU, but that's not an > assumption we can really bank on. I choosed to do so as CONFIG_ZRELADDR (which is now reverted) used the ARCH_... symbols, too, to select the needed values. And that's my I marked the patch as RFC. So would you consider this patch acceptible if I respin it using the MACH_... symbols? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr @ 2010-09-14 12:23 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-14 12:23 UTC (permalink / raw) To: linux-arm-kernel Hello Paul, On Tue, Sep 14, 2010 at 05:08:29PM +0900, Paul Mundt wrote: > On Fri, Sep 03, 2010 at 11:56:53AM +0200, Uwe Kleine-K??nig wrote: > > -config MEMORY_START > > - hex "Physical memory start address" > > - default "0x50000000" if MACH_G3EVM > > - default "0x40000000" if MACH_G4EVM > > - default "0x40000000" if MACH_AP4EVB > > - default "0x00000000" > > - ---help--- > > - Tweak this only when porting to a new machine which does not > > - already have a defconfig. Changing it from the known correct > > - value on any of the known systems will only lead to disaster. > > - > > [snip] > > > -#define PHYS_OFFSET UL(CONFIG_MEMORY_START) > > +#define SH7367_PHYS_OFFSET UL(0x50000000) > > +#define SH7372_PHYS_OFFSET UL(0x40000000) > > +#define SH7377_PHYS_OFFSET UL(0x40000000) > > + > > +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) > > +# if defined(CONFIG_ARCH_SH7367) > > +# define PHYS_OFFSET SH7367_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7372) > > +# define PHYS_OFFSET SH7372_PHYS_OFFSET > > +# elif defined(CONFIG_ARCH_SH7377) > > +# define PHYS_OFFSET SH7377_PHYS_OFFSET > > +# endif > > +#endif /* if !defined(CONFIG_RUNTIME_PHYS_OFFSET) */ > > + > > You've taken a board-specific property and made it CPU-specific. There is > nothing about these CPUs that mandates memory starting here, it just > happens that for the moment we have 1 board per CPU, but that's not an > assumption we can really bank on. I choosed to do so as CONFIG_ZRELADDR (which is now reverted) used the ARCH_... symbols, too, to select the needed values. And that's my I marked the patch as RFC. So would you consider this patch acceptible if I respin it using the MACH_... symbols? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 3/7] ARM: specify ZRELADDR for ARCH_H720X 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 9:56 ` Uwe Kleine-König @ 2010-09-03 9:56 ` 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 ` (6 subsequent siblings) 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel This was missed in commit e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 4 +++- arch/arm/mach-h720x/Makefile.boot | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 arch/arm/mach-h720x/Makefile.boot diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 16bc8eb..c43b508 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1620,7 +1620,9 @@ config ZRELADDR ARCH_S3C2416 ||\ ARCH_S3C2440 ||\ ARCH_S3C2443 - default 0x40008000 if ARCH_STMP378X ||\ + default 0x40008000 if \ + ARCH_H720X ||\ + ARCH_STMP378X ||\ ARCH_STMP37XX ||\ ARCH_SH7372 ||\ ARCH_SH7377 ||\ diff --git a/arch/arm/mach-h720x/Makefile.boot b/arch/arm/mach-h720x/Makefile.boot deleted file mode 100644 index 5298401..0000000 --- a/arch/arm/mach-h720x/Makefile.boot +++ /dev/null @@ -1,2 +0,0 @@ - zreladdr-$(CONFIG_ARCH_H720X) := 0x40008000 - -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 3/7] ARM: specify ZRELADDR for ARCH_H720X 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:40 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > This was missed in commit > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> This is straight-forward. Ack. > --- > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ?| ? ?4 +++- > ?arch/arm/mach-h720x/Makefile.boot | ? ?2 -- > ?2 files changed, 3 insertions(+), 3 deletions(-) > ?delete mode 100644 arch/arm/mach-h720x/Makefile.boot > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 16bc8eb..c43b508 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1620,7 +1620,9 @@ config ZRELADDR > ? ? ? ? ? ? ? ?ARCH_S3C2416 ||\ > ? ? ? ? ? ? ? ?ARCH_S3C2440 ||\ > ? ? ? ? ? ? ? ?ARCH_S3C2443 > - ? ? ? default 0x40008000 if ARCH_STMP378X ||\ > + ? ? ? default 0x40008000 if \ > + ? ? ? ? ? ? ? ARCH_H720X ||\ > + ? ? ? ? ? ? ? ARCH_STMP378X ||\ > ? ? ? ? ? ? ? ?ARCH_STMP37XX ||\ > ? ? ? ? ? ? ? ?ARCH_SH7372 ||\ > ? ? ? ? ? ? ? ?ARCH_SH7377 ||\ > diff --git a/arch/arm/mach-h720x/Makefile.boot b/arch/arm/mach-h720x/Makefile.boot > deleted file mode 100644 > index 5298401..0000000 > --- a/arch/arm/mach-h720x/Makefile.boot > +++ /dev/null > @@ -1,2 +0,0 @@ > - ? zreladdr-$(CONFIG_ARCH_H720X) ? ? ? := 0x40008000 > - > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/7] ARM: specify ZRELADDR for ARCH_LPC32XX 2010-09-03 9:55 ` Uwe Kleine-König ` (2 preceding siblings ...) 2010-09-03 9:56 ` [PATCH 3/7] ARM: specify ZRELADDR for ARCH_H720X Uwe Kleine-König @ 2010-09-03 9:56 ` 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 ` (5 subsequent siblings) 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel This was missed in commit e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) Cc: Kevin Wells <wellsk40@gmail.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 4 +++- arch/arm/mach-lpc32xx/Makefile.boot | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index c43b508..4a9a55c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1630,7 +1630,9 @@ config ZRELADDR default 0x50008000 if ARCH_S3C64XX ||\ ARCH_SH7367 default 0x60008000 if ARCH_VEXPRESS - default 0x80008000 if ARCH_MX25 ||\ + default 0x80008000 if \ + ARCH_LPC32XX ||\ + ARCH_MX25 ||\ ARCH_MX3 ||\ ARCH_NETX ||\ ARCH_OMAP2PLUS ||\ diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot index b796b41..e6bde79 100644 --- a/arch/arm/mach-lpc32xx/Makefile.boot +++ b/arch/arm/mach-lpc32xx/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x82000000 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 4/7] ARM: specify ZRELADDR for ARCH_LPC32XX 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:41 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > This was missed in commit > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > Cc: Kevin Wells <wellsk40@gmail.com> > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Looks straight-forward. Ack. > --- > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ? ?| ? ?4 +++- > ?arch/arm/mach-lpc32xx/Makefile.boot | ? ?1 - > ?2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index c43b508..4a9a55c 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1630,7 +1630,9 @@ config ZRELADDR > ? ? ? ?default 0x50008000 if ARCH_S3C64XX ||\ > ? ? ? ? ? ? ? ?ARCH_SH7367 > ? ? ? ?default 0x60008000 if ARCH_VEXPRESS > - ? ? ? default 0x80008000 if ARCH_MX25 ||\ > + ? ? ? default 0x80008000 if \ > + ? ? ? ? ? ? ? ARCH_LPC32XX ||\ > + ? ? ? ? ? ? ? ARCH_MX25 ||\ > ? ? ? ? ? ? ? ?ARCH_MX3 ||\ > ? ? ? ? ? ? ? ?ARCH_NETX ||\ > ? ? ? ? ? ? ? ?ARCH_OMAP2PLUS ||\ > diff --git a/arch/arm/mach-lpc32xx/Makefile.boot b/arch/arm/mach-lpc32xx/Makefile.boot > index b796b41..e6bde79 100644 > --- a/arch/arm/mach-lpc32xx/Makefile.boot > +++ b/arch/arm/mach-lpc32xx/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x80008000 > ?params_phys-y ?:= 0x80000100 > ?initrd_phys-y ?:= 0x82000000 > > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 2010-09-03 9:55 ` Uwe Kleine-König ` (3 preceding siblings ...) 2010-09-03 9:56 ` [PATCH 4/7] ARM: specify ZRELADDR for ARCH_LPC32XX Uwe Kleine-König @ 2010-09-03 9:56 ` Uwe Kleine-König 2010-09-03 13:30 ` Eric Miao 2010-09-03 9:56 ` [PATCH 6/7] ARM: fix ordering of defaults for config ZRELADDR Uwe Kleine-König ` (4 subsequent siblings) 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel This value is essential for booting a zImage and only depends on the memory layout of the machine to boot. This value was specified in Makefile.boot before e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) and so wasn't available to change via .config. The only exception is bcmring that had a extra config for specifing the address used, which is removed in this commit, too, as it isn't used anymore since e69edc79. This is the only machine that still gets a possibility to change CONFIG_ZRELADDR. Cc: Russell King <linux@arm.linux.org.uk> Cc: Nicolas Pitre <nico@fluxnic.net> Cc: Eric Miao <eric.miao@canonical.com> Cc: Leo Chen <leochen@broadcom.com> Cc: Scott Branden <sbranden@broadcom.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 2 +- arch/arm/configs/bcmring_defconfig | 1 - arch/arm/mach-bcmring/Kconfig | 3 --- arch/arm/mach-bcmring/Makefile.boot | 1 - 4 files changed, 1 insertions(+), 6 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4a9a55c..0654afe 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1577,7 +1577,7 @@ config AUTO_ZRELADDR from start of memory. config ZRELADDR - hex "Physical address of the decompressed kernel image" + hex "Physical address of the decompressed kernel image" if ARCH_BCMRING depends on !AUTO_ZRELADDR default 0x00008000 if ARCH_BCMRING ||\ ARCH_CNS3XXX ||\ diff --git a/arch/arm/configs/bcmring_defconfig b/arch/arm/configs/bcmring_defconfig index 75984cd..9168d05 100644 --- a/arch/arm/configs/bcmring_defconfig +++ b/arch/arm/configs/bcmring_defconfig @@ -21,7 +21,6 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_CFQ is not set CONFIG_ARCH_BCMRING=y -CONFIG_BCM_ZRELADDR=0x8000 CONFIG_CPU_32v6K=y CONFIG_NO_HZ=y CONFIG_PREEMPT=y diff --git a/arch/arm/mach-bcmring/Kconfig b/arch/arm/mach-bcmring/Kconfig index 457b438..e076cc8 100644 --- a/arch/arm/mach-bcmring/Kconfig +++ b/arch/arm/mach-bcmring/Kconfig @@ -13,9 +13,6 @@ endchoice menu "BCMRING Options" depends on ARCH_BCMRING -config BCM_ZRELADDR - hex "Compressed ZREL ADDR" - endmenu # source "drivers/char/bcmring/Kconfig" diff --git a/arch/arm/mach-bcmring/Makefile.boot b/arch/arm/mach-bcmring/Makefile.boot index fb53b28..6894871 100644 --- a/arch/arm/mach-bcmring/Makefile.boot +++ b/arch/arm/mach-bcmring/Makefile.boot @@ -1,6 +1,5 @@ # Address where decompressor will be written and eventually executed. # # default to SDRAM -zreladdr-y := $(CONFIG_BCM_ZRELADDR) params_phys-y := 0x00000800 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:30 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > This value is essential for booting a zImage and only depends on the > memory layout of the machine to boot. ?This value was specified in > Makefile.boot before > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > and so wasn't available to change via .config. > > The only exception is bcmring that had a extra config for specifing the > address used, which is removed in this commit, too, as it isn't used > anymore since e69edc79. ?This is the only machine that still gets a > possibility to change CONFIG_ZRELADDR. This looks correct to me. > > Cc: Russell King <linux@arm.linux.org.uk> > Cc: Nicolas Pitre <nico@fluxnic.net> > Cc: Eric Miao <eric.miao@canonical.com> > Cc: Leo Chen <leochen@broadcom.com> > Cc: Scott Branden <sbranden@broadcom.com> > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ? ?| ? ?2 +- > ?arch/arm/configs/bcmring_defconfig ?| ? ?1 - > ?arch/arm/mach-bcmring/Kconfig ? ? ? | ? ?3 --- > ?arch/arm/mach-bcmring/Makefile.boot | ? ?1 - > ?4 files changed, 1 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 4a9a55c..0654afe 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1577,7 +1577,7 @@ config AUTO_ZRELADDR > ? ? ? ? ?from start of memory. > > ?config ZRELADDR > - ? ? ? hex "Physical address of the decompressed kernel image" > + ? ? ? hex "Physical address of the decompressed kernel image" if ARCH_BCMRING > ? ? ? ?depends on !AUTO_ZRELADDR > ? ? ? ?default 0x00008000 if ARCH_BCMRING ||\ > ? ? ? ? ? ? ? ?ARCH_CNS3XXX ||\ > diff --git a/arch/arm/configs/bcmring_defconfig b/arch/arm/configs/bcmring_defconfig > index 75984cd..9168d05 100644 > --- a/arch/arm/configs/bcmring_defconfig > +++ b/arch/arm/configs/bcmring_defconfig > @@ -21,7 +21,6 @@ CONFIG_MODULE_UNLOAD=y > ?# CONFIG_IOSCHED_DEADLINE is not set > ?# CONFIG_IOSCHED_CFQ is not set > ?CONFIG_ARCH_BCMRING=y > -CONFIG_BCM_ZRELADDR=0x8000 > ?CONFIG_CPU_32v6K=y > ?CONFIG_NO_HZ=y > ?CONFIG_PREEMPT=y > diff --git a/arch/arm/mach-bcmring/Kconfig b/arch/arm/mach-bcmring/Kconfig > index 457b438..e076cc8 100644 > --- a/arch/arm/mach-bcmring/Kconfig > +++ b/arch/arm/mach-bcmring/Kconfig > @@ -13,9 +13,6 @@ endchoice > ?menu "BCMRING Options" > ? ? ? ?depends on ARCH_BCMRING > > -config BCM_ZRELADDR > - ? ? ? hex "Compressed ZREL ADDR" > - > ?endmenu > > ?# source "drivers/char/bcmring/Kconfig" > diff --git a/arch/arm/mach-bcmring/Makefile.boot b/arch/arm/mach-bcmring/Makefile.boot > index fb53b28..6894871 100644 > --- a/arch/arm/mach-bcmring/Makefile.boot > +++ b/arch/arm/mach-bcmring/Makefile.boot > @@ -1,6 +1,5 @@ > ?# Address where decompressor will be written and eventually executed. > ?# > ?# default to SDRAM > -zreladdr-y ? ? ?:= $(CONFIG_BCM_ZRELADDR) > ?params_phys-y ? := 0x00000800 > > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 2010-09-03 13:30 ` Eric Miao @ 2010-09-03 18:53 ` Uwe Kleine-König 2010-09-04 8:52 ` Eric Miao 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 18:53 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 03, 2010 at 09:30:50PM +0800, Eric Miao wrote: > 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > > > This value is essential for booting a zImage and only depends on the > > memory layout of the machine to boot. ?This value was specified in > > Makefile.boot before > > > > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > > > > and so wasn't available to change via .config. > > > > The only exception is bcmring that had a extra config for specifing the > > address used, which is removed in this commit, too, as it isn't used > > anymore since e69edc79. ?This is the only machine that still gets a > > possibility to change CONFIG_ZRELADDR. > > This looks correct to me. That's an Ack? Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 2010-09-03 18:53 ` Uwe Kleine-König @ 2010-09-04 8:52 ` Eric Miao 2010-09-07 22:39 ` Mathieu Rondonneau 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-09-04 8:52 UTC (permalink / raw) To: linux-arm-kernel 2010/9/4 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > On Fri, Sep 03, 2010 at 09:30:50PM +0800, Eric Miao wrote: >> 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> >> > >> > This value is essential for booting a zImage and only depends on the >> > memory layout of the machine to boot. ?This value was specified in >> > Makefile.boot before >> > >> > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) >> > >> > and so wasn't available to change via .config. >> > >> > The only exception is bcmring that had a extra config for specifing the >> > address used, which is removed in this commit, too, as it isn't used >> > anymore since e69edc79. ?This is the only machine that still gets a >> > possibility to change CONFIG_ZRELADDR. >> >> This looks correct to me. > That's an Ack? > Ack. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 2010-09-04 8:52 ` Eric Miao @ 2010-09-07 22:39 ` Mathieu Rondonneau 2010-09-08 5:04 ` Uwe Kleine-König 0 siblings, 1 reply; 138+ messages in thread From: Mathieu Rondonneau @ 2010-09-07 22:39 UTC (permalink / raw) To: linux-arm-kernel > 2010/9/4 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: >> On Fri, Sep 03, 2010 at 09:30:50PM +0800, Eric Miao wrote: >>> 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> >>> > >>> > This value is essential for booting a zImage and only depends on the >>> > memory layout of the machine to boot. ?This value was specified in >>> > Makefile.boot before >>> > >>> > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) >>> > >>> > and so wasn't available to change via .config. >>> > >>> > The only exception is bcmring that had a extra config for specifing the >>> > address used, which is removed in this commit, too, as it isn't used >>> > anymore since e69edc79. ?This is the only machine that still gets a >>> > possibility to change CONFIG_ZRELADDR. >>> >>> This looks correct to me. >> That's an Ack? >> > > Ack. > I think it should be: --- a/arch/arm/mach-bcmring/Makefile.boot +++ b/arch/arm/mach-bcmring/Makefile.boot @@ -1,6 +1,5 @@ # Address where decompressor will be written and eventually executed. # # default to SDRAM -zreladdr-y := $(CONFIG_BCM_ZRELADDR) +zreladdr-y := $(CONFIG_ZRELADDR) params_phys-y := 0x00000800 instead of --- a/arch/arm/mach-bcmring/Makefile.boot +++ b/arch/arm/mach-bcmring/Makefile.boot @@ -1,6 +1,5 @@ # Address where decompressor will be written and eventually executed. # # default to SDRAM -zreladdr-y := $(CONFIG_BCM_ZRELADDR) params_phys-y := 0x00000800 -Mathieu ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users 2010-09-07 22:39 ` Mathieu Rondonneau @ 2010-09-08 5:04 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-08 5:04 UTC (permalink / raw) To: linux-arm-kernel Hello Mathieu, On Tue, Sep 07, 2010 at 03:39:20PM -0700, Mathieu Rondonneau wrote: > > 2010/9/4 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > >> On Fri, Sep 03, 2010 at 09:30:50PM +0800, Eric Miao wrote: > >>> 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > >>> > > >>> > This value is essential for booting a zImage and only depends on the > >>> > memory layout of the machine to boot. ?This value was specified in > >>> > Makefile.boot before > >>> > > >>> > ? ? ? ?e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) > >>> > > >>> > and so wasn't available to change via .config. > >>> > > >>> > The only exception is bcmring that had a extra config for specifing the > >>> > address used, which is removed in this commit, too, as it isn't used > >>> > anymore since e69edc79. ?This is the only machine that still gets a > >>> > possibility to change CONFIG_ZRELADDR. > >>> > >>> This looks correct to me. > >> That's an Ack? > >> > > > > Ack. > > > > I think it should be: > > --- a/arch/arm/mach-bcmring/Makefile.boot > +++ b/arch/arm/mach-bcmring/Makefile.boot > @@ -1,6 +1,5 @@ > # Address where decompressor will be written and eventually executed. > # > # default to SDRAM > -zreladdr-y := $(CONFIG_BCM_ZRELADDR) > +zreladdr-y := $(CONFIG_ZRELADDR) > params_phys-y := 0x00000800 > No, the variable zreladdr-y isn't used anymore, see path 7/7. > > instead of > > > --- a/arch/arm/mach-bcmring/Makefile.boot > +++ b/arch/arm/mach-bcmring/Makefile.boot > @@ -1,6 +1,5 @@ > # Address where decompressor will be written and eventually executed. > # > # default to SDRAM > -zreladdr-y := $(CONFIG_BCM_ZRELADDR) > params_phys-y := 0x00000800 > > > -Mathieu There is no "Mathieu" in arch/arm/mach-bcmring/Makefile.boot to remove :-) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 6/7] ARM: fix ordering of defaults for config ZRELADDR 2010-09-03 9:55 ` Uwe Kleine-König ` (4 preceding siblings ...) 2010-09-03 9:56 ` [PATCH 5/7] ARM: don't expose CONFIG_ZRELADDR to the users Uwe Kleine-König @ 2010-09-03 9:56 ` 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 ` (3 subsequent siblings) 9 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0654afe..ed564a5 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1596,8 +1596,8 @@ config ZRELADDR ARCH_MMP ||\ ARCH_MV78XX0 ||\ ARCH_NOMADIK ||\ - ARCH_NUC93X ||\ ARCH_NS9XXX ||\ + ARCH_NUC93X ||\ ARCH_ORION5X ||\ ARCH_SPEAR3XX ||\ ARCH_SPEAR6XX ||\ @@ -1660,9 +1660,9 @@ config ZRELADDR 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 0x30108000 if ARCH_S3C2410 && PM_H1940 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 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 7/7] ARM: removed unused zreladdr specifications in all Makefile.boot files 2010-09-03 9:55 ` Uwe Kleine-König ` (5 preceding siblings ...) 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 ` Uwe Kleine-König 2010-09-03 15:01 ` Eric Miao 2010-09-03 20:46 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-König ` (2 subsequent siblings) 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 9:56 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/mach-aaec2000/Makefile.boot | 1 - arch/arm/mach-at91/Makefile.boot | 3 --- arch/arm/mach-clps711x/Makefile.boot | 1 - arch/arm/mach-cns3xxx/Makefile.boot | 1 - arch/arm/mach-davinci/Makefile.boot | 2 -- arch/arm/mach-dove/Makefile.boot | 1 - arch/arm/mach-ebsa110/Makefile.boot | 1 - arch/arm/mach-ep93xx/Makefile.boot | 5 ----- arch/arm/mach-footbridge/Makefile.boot | 1 - arch/arm/mach-gemini/Makefile.boot | 2 -- arch/arm/mach-imx/Makefile.boot | 3 --- arch/arm/mach-integrator/Makefile.boot | 1 - arch/arm/mach-iop13xx/Makefile.boot | 1 - arch/arm/mach-iop32x/Makefile.boot | 1 - arch/arm/mach-iop33x/Makefile.boot | 1 - arch/arm/mach-ixp2000/Makefile.boot | 1 - arch/arm/mach-ixp23xx/Makefile.boot | 1 - arch/arm/mach-ixp4xx/Makefile.boot | 1 - arch/arm/mach-kirkwood/Makefile.boot | 1 - arch/arm/mach-ks8695/Makefile.boot | 1 - arch/arm/mach-lh7a40x/Makefile.boot | 1 - arch/arm/mach-loki/Makefile.boot | 1 - arch/arm/mach-mmp/Makefile.boot | 1 - arch/arm/mach-msm/Makefile.boot | 1 - arch/arm/mach-mv78xx0/Makefile.boot | 1 - arch/arm/mach-mx25/Makefile.boot | 1 - arch/arm/mach-mx3/Makefile.boot | 1 - arch/arm/mach-mx5/Makefile.boot | 1 - arch/arm/mach-mxc91231/Makefile.boot | 1 - arch/arm/mach-netx/Makefile.boot | 1 - arch/arm/mach-nomadik/Makefile.boot | 1 - arch/arm/mach-ns9xxx/Makefile.boot | 1 - arch/arm/mach-nuc93x/Makefile.boot | 1 - arch/arm/mach-omap1/Makefile.boot | 1 - arch/arm/mach-omap2/Makefile.boot | 1 - arch/arm/mach-orion5x/Makefile.boot | 1 - arch/arm/mach-pnx4008/Makefile.boot | 1 - arch/arm/mach-pxa/Makefile.boot | 1 - arch/arm/mach-realview/Makefile.boot | 2 -- arch/arm/mach-rpc/Makefile.boot | 1 - arch/arm/mach-s3c2410/Makefile.boot | 2 -- arch/arm/mach-s3c64xx/Makefile.boot | 1 - arch/arm/mach-s5p6440/Makefile.boot | 1 - arch/arm/mach-s5p6442/Makefile.boot | 1 - arch/arm/mach-s5pc100/Makefile.boot | 1 - arch/arm/mach-s5pv210/Makefile.boot | 1 - arch/arm/mach-s5pv310/Makefile.boot | 1 - arch/arm/mach-sa1100/Makefile.boot | 2 -- arch/arm/mach-shark/Makefile.boot | 2 -- arch/arm/mach-spear3xx/Makefile.boot | 1 - arch/arm/mach-spear6xx/Makefile.boot | 1 - arch/arm/mach-stmp378x/Makefile.boot | 1 - arch/arm/mach-stmp37xx/Makefile.boot | 1 - arch/arm/mach-u300/Makefile.boot | 2 -- arch/arm/mach-ux500/Makefile.boot | 1 - arch/arm/mach-versatile/Makefile.boot | 1 - arch/arm/mach-vexpress/Makefile.boot | 1 - arch/arm/mach-w90x900/Makefile.boot | 1 - 58 files changed, 0 insertions(+), 73 deletions(-) delete mode 100644 arch/arm/mach-shark/Makefile.boot diff --git a/arch/arm/mach-aaec2000/Makefile.boot b/arch/arm/mach-aaec2000/Makefile.boot index 8f5a8b7..e69de29 100644 --- a/arch/arm/mach-aaec2000/Makefile.boot +++ b/arch/arm/mach-aaec2000/Makefile.boot @@ -1 +0,0 @@ - zreladdr-y := 0xf0008000 diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot index 3462b81..9d7c05c 100644 --- a/arch/arm/mach-at91/Makefile.boot +++ b/arch/arm/mach-at91/Makefile.boot @@ -4,15 +4,12 @@ # INITRD_PHYS must be in RAM ifeq ($(CONFIG_ARCH_AT91CAP9),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70410000 else ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70410000 else - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 initrd_phys-y := 0x20410000 endif diff --git a/arch/arm/mach-clps711x/Makefile.boot b/arch/arm/mach-clps711x/Makefile.boot index a51fcef..eba77d3 100644 --- a/arch/arm/mach-clps711x/Makefile.boot +++ b/arch/arm/mach-clps711x/Makefile.boot @@ -1,5 +1,4 @@ # The standard locations for stuff on CLPS711x type processors - zreladdr-y := 0xc0028000 params_phys-y := 0xc0000100 # Should probably have some agreement on these... initrd_phys-$(CONFIG_ARCH_P720T) := 0xc0400000 diff --git a/arch/arm/mach-cns3xxx/Makefile.boot b/arch/arm/mach-cns3xxx/Makefile.boot index 7770128..6ac39ff 100644 --- a/arch/arm/mach-cns3xxx/Makefile.boot +++ b/arch/arm/mach-cns3xxx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00C00000 diff --git a/arch/arm/mach-davinci/Makefile.boot b/arch/arm/mach-davinci/Makefile.boot index db97ef2..8cdb5ac 100644 --- a/arch/arm/mach-davinci/Makefile.boot +++ b/arch/arm/mach-davinci/Makefile.boot @@ -2,12 +2,10 @@ ifeq ($(CONFIG_ARCH_DAVINCI_DA8XX),y) ifeq ($(CONFIG_ARCH_DAVINCI_DMx),y) $(error Cannot enable DaVinci and DA8XX platforms concurrently) else - zreladdr-y := 0xc0008000 params_phys-y := 0xc0000100 initrd_phys-y := 0xc0800000 endif else - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 endif diff --git a/arch/arm/mach-dove/Makefile.boot b/arch/arm/mach-dove/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-dove/Makefile.boot +++ b/arch/arm/mach-dove/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ebsa110/Makefile.boot b/arch/arm/mach-ebsa110/Makefile.boot index 2321260..cb7c513 100644 --- a/arch/arm/mach-ebsa110/Makefile.boot +++ b/arch/arm/mach-ebsa110/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000400 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ep93xx/Makefile.boot b/arch/arm/mach-ep93xx/Makefile.boot index 0ad33f1..fcffffa 100644 --- a/arch/arm/mach-ep93xx/Makefile.boot +++ b/arch/arm/mach-ep93xx/Makefile.boot @@ -1,14 +1,9 @@ - zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000 params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00000100 - zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0000100 - zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0008000 params_phys-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0000100 - zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0008000 params_phys-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0000100 - zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0008000 params_phys-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0000100 diff --git a/arch/arm/mach-footbridge/Makefile.boot b/arch/arm/mach-footbridge/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-footbridge/Makefile.boot +++ b/arch/arm/mach-footbridge/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-gemini/Makefile.boot b/arch/arm/mach-gemini/Makefile.boot index 22a52c2..88f25e9 100644 --- a/arch/arm/mach-gemini/Makefile.boot +++ b/arch/arm/mach-gemini/Makefile.boot @@ -1,9 +1,7 @@ ifeq ($(CONFIG_GEMINI_MEM_SWAP),y) - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 else - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 endif diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index 7988a85..110aa36 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot @@ -1,11 +1,8 @@ -zreladdr-$(CONFIG_ARCH_MX1) := 0x08008000 params_phys-$(CONFIG_ARCH_MX1) := 0x08000100 initrd_phys-$(CONFIG_ARCH_MX1) := 0x08800000 -zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000 params_phys-$(CONFIG_MACH_MX21) := 0xC0000100 initrd_phys-$(CONFIG_MACH_MX21) := 0xC0800000 -zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 params_phys-$(CONFIG_MACH_MX27) := 0xA0000100 initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000 diff --git a/arch/arm/mach-integrator/Makefile.boot b/arch/arm/mach-integrator/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-integrator/Makefile.boot +++ b/arch/arm/mach-integrator/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-iop13xx/Makefile.boot b/arch/arm/mach-iop13xx/Makefile.boot index 0b0e19f..6e25cb5 100644 --- a/arch/arm/mach-iop13xx/Makefile.boot +++ b/arch/arm/mach-iop13xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-iop32x/Makefile.boot b/arch/arm/mach-iop32x/Makefile.boot index 47000dc..5e0e4f6 100644 --- a/arch/arm/mach-iop32x/Makefile.boot +++ b/arch/arm/mach-iop32x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0xa0008000 params_phys-y := 0xa0000100 initrd_phys-y := 0xa0800000 diff --git a/arch/arm/mach-iop33x/Makefile.boot b/arch/arm/mach-iop33x/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-iop33x/Makefile.boot +++ b/arch/arm/mach-iop33x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ixp2000/Makefile.boot b/arch/arm/mach-ixp2000/Makefile.boot index d84c580..1bca921 100644 --- a/arch/arm/mach-ixp2000/Makefile.boot +++ b/arch/arm/mach-ixp2000/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-ixp23xx/Makefile.boot b/arch/arm/mach-ixp23xx/Makefile.boot index d5561ad..cb69427 100644 --- a/arch/arm/mach-ixp23xx/Makefile.boot +++ b/arch/arm/mach-ixp23xx/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-ixp4xx/Makefile.boot b/arch/arm/mach-ixp4xx/Makefile.boot index d84c580..1bca921 100644 --- a/arch/arm/mach-ixp4xx/Makefile.boot +++ b/arch/arm/mach-ixp4xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-kirkwood/Makefile.boot +++ b/arch/arm/mach-kirkwood/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ks8695/Makefile.boot b/arch/arm/mach-ks8695/Makefile.boot index 48eb2cb..11ea079 100644 --- a/arch/arm/mach-ks8695/Makefile.boot +++ b/arch/arm/mach-ks8695/Makefile.boot @@ -3,6 +3,5 @@ # PARAMS_PHYS must be within 4MB of ZRELADDR # INITRD_PHYS must be in RAM - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-lh7a40x/Makefile.boot b/arch/arm/mach-lh7a40x/Makefile.boot index af941be..5a78392 100644 --- a/arch/arm/mach-lh7a40x/Makefile.boot +++ b/arch/arm/mach-lh7a40x/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0xc0008000 params_phys-y := 0xc0000100 initrd_phys-y := 0xc4000000 diff --git a/arch/arm/mach-loki/Makefile.boot b/arch/arm/mach-loki/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-loki/Makefile.boot +++ b/arch/arm/mach-loki/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-mmp/Makefile.boot b/arch/arm/mach-mmp/Makefile.boot index 574a4aa..e69de29 100644 --- a/arch/arm/mach-mmp/Makefile.boot +++ b/arch/arm/mach-mmp/Makefile.boot @@ -1 +0,0 @@ - zreladdr-y := 0x00008000 diff --git a/arch/arm/mach-msm/Makefile.boot b/arch/arm/mach-msm/Makefile.boot index 24dfbf8..14acc97 100644 --- a/arch/arm/mach-msm/Makefile.boot +++ b/arch/arm/mach-msm/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 diff --git a/arch/arm/mach-mv78xx0/Makefile.boot b/arch/arm/mach-mv78xx0/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-mv78xx0/Makefile.boot +++ b/arch/arm/mach-mv78xx0/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-mx25/Makefile.boot b/arch/arm/mach-mx25/Makefile.boot index e1dd366..77987d8 100644 --- a/arch/arm/mach-mx25/Makefile.boot +++ b/arch/arm/mach-mx25/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-mx3/Makefile.boot b/arch/arm/mach-mx3/Makefile.boot index e1dd366..77987d8 100644 --- a/arch/arm/mach-mx3/Makefile.boot +++ b/arch/arm/mach-mx3/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot index 9939a19..62b05d4 100644 --- a/arch/arm/mach-mx5/Makefile.boot +++ b/arch/arm/mach-mx5/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x90008000 params_phys-y := 0x90000100 initrd_phys-y := 0x90800000 diff --git a/arch/arm/mach-mxc91231/Makefile.boot b/arch/arm/mach-mxc91231/Makefile.boot index 9939a19..62b05d4 100644 --- a/arch/arm/mach-mxc91231/Makefile.boot +++ b/arch/arm/mach-mxc91231/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x90008000 params_phys-y := 0x90000100 initrd_phys-y := 0x90800000 diff --git a/arch/arm/mach-netx/Makefile.boot b/arch/arm/mach-netx/Makefile.boot index b81cf6a..8b13789 100644 --- a/arch/arm/mach-netx/Makefile.boot +++ b/arch/arm/mach-netx/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x80008000 diff --git a/arch/arm/mach-nomadik/Makefile.boot b/arch/arm/mach-nomadik/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-nomadik/Makefile.boot +++ b/arch/arm/mach-nomadik/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ns9xxx/Makefile.boot b/arch/arm/mach-ns9xxx/Makefile.boot index 5465491..bdf4f71 100644 --- a/arch/arm/mach-ns9xxx/Makefile.boot +++ b/arch/arm/mach-ns9xxx/Makefile.boot @@ -1,2 +1 @@ -zreladdr-y := 0x8000 params_phys-y := 0x100 diff --git a/arch/arm/mach-nuc93x/Makefile.boot b/arch/arm/mach-nuc93x/Makefile.boot index a057b54..1bca921 100644 --- a/arch/arm/mach-nuc93x/Makefile.boot +++ b/arch/arm/mach-nuc93x/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-omap1/Makefile.boot b/arch/arm/mach-omap1/Makefile.boot index 292d56c..14acc97 100644 --- a/arch/arm/mach-omap1/Makefile.boot +++ b/arch/arm/mach-omap1/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot index 565aff7..a99818f 100644 --- a/arch/arm/mach-omap2/Makefile.boot +++ b/arch/arm/mach-omap2/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-orion5x/Makefile.boot b/arch/arm/mach-orion5x/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-orion5x/Makefile.boot +++ b/arch/arm/mach-orion5x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-pnx4008/Makefile.boot b/arch/arm/mach-pnx4008/Makefile.boot index 44c7117..76905a0 100644 --- a/arch/arm/mach-pnx4008/Makefile.boot +++ b/arch/arm/mach-pnx4008/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-pxa/Makefile.boot b/arch/arm/mach-pxa/Makefile.boot index 1ead671..8b13789 100644 --- a/arch/arm/mach-pxa/Makefile.boot +++ b/arch/arm/mach-pxa/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0xa0008000 diff --git a/arch/arm/mach-realview/Makefile.boot b/arch/arm/mach-realview/Makefile.boot index d97e003..886d020 100644 --- a/arch/arm/mach-realview/Makefile.boot +++ b/arch/arm/mach-realview/Makefile.boot @@ -1,9 +1,7 @@ ifeq ($(CONFIG_REALVIEW_HIGH_PHYS_OFFSET),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70800000 else - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 endif diff --git a/arch/arm/mach-rpc/Makefile.boot b/arch/arm/mach-rpc/Makefile.boot index 9c9e768..3c7cc4a 100644 --- a/arch/arm/mach-rpc/Makefile.boot +++ b/arch/arm/mach-rpc/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x18000000 diff --git a/arch/arm/mach-s3c2410/Makefile.boot b/arch/arm/mach-s3c2410/Makefile.boot index 58c1dd7..69dbda1 100644 --- a/arch/arm/mach-s3c2410/Makefile.boot +++ b/arch/arm/mach-s3c2410/Makefile.boot @@ -1,7 +1,5 @@ ifeq ($(CONFIG_PM_H1940),y) - zreladdr-y := 0x30108000 params_phys-y := 0x30100100 else - zreladdr-y := 0x30008000 params_phys-y := 0x30000100 endif diff --git a/arch/arm/mach-s3c64xx/Makefile.boot b/arch/arm/mach-s3c64xx/Makefile.boot index ba41fdc..b6349bd 100644 --- a/arch/arm/mach-s3c64xx/Makefile.boot +++ b/arch/arm/mach-s3c64xx/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x50008000 params_phys-y := 0x50000100 diff --git a/arch/arm/mach-s5p6440/Makefile.boot b/arch/arm/mach-s5p6440/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5p6440/Makefile.boot +++ b/arch/arm/mach-s5p6440/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5p6442/Makefile.boot b/arch/arm/mach-s5p6442/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5p6442/Makefile.boot +++ b/arch/arm/mach-s5p6442/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pc100/Makefile.boot b/arch/arm/mach-s5pc100/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5pc100/Makefile.boot +++ b/arch/arm/mach-s5pc100/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pv210/Makefile.boot b/arch/arm/mach-s5pv210/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5pv210/Makefile.boot +++ b/arch/arm/mach-s5pv210/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pv310/Makefile.boot b/arch/arm/mach-s5pv310/Makefile.boot index d65956f..85644bc 100644 --- a/arch/arm/mach-s5pv310/Makefile.boot +++ b/arch/arm/mach-s5pv310/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 diff --git a/arch/arm/mach-sa1100/Makefile.boot b/arch/arm/mach-sa1100/Makefile.boot index a56ad04..df520d6 100644 --- a/arch/arm/mach-sa1100/Makefile.boot +++ b/arch/arm/mach-sa1100/Makefile.boot @@ -1,6 +1,4 @@ - zreladdr-y := 0xc0008000 ifeq ($(CONFIG_ARCH_SA1100),y) - zreladdr-$(CONFIG_SA1111) := 0xc0208000 endif params_phys-y := 0xc0000100 initrd_phys-y := 0xc0800000 diff --git a/arch/arm/mach-shark/Makefile.boot b/arch/arm/mach-shark/Makefile.boot deleted file mode 100644 index 4320f8b..0000000 --- a/arch/arm/mach-shark/Makefile.boot +++ /dev/null @@ -1,2 +0,0 @@ - zreladdr-y := 0x08008000 - diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot index 7a1f3c0..80f4945 100644 --- a/arch/arm/mach-spear3xx/Makefile.boot +++ b/arch/arm/mach-spear3xx/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot index 7a1f3c0..80f4945 100644 --- a/arch/arm/mach-spear6xx/Makefile.boot +++ b/arch/arm/mach-spear6xx/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-stmp378x/Makefile.boot b/arch/arm/mach-stmp378x/Makefile.boot index 1568ad4..71e6728 100644 --- a/arch/arm/mach-stmp378x/Makefile.boot +++ b/arch/arm/mach-stmp378x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 initrd_phys-y := 0x40800000 diff --git a/arch/arm/mach-stmp37xx/Makefile.boot b/arch/arm/mach-stmp37xx/Makefile.boot index 1568ad4..71e6728 100644 --- a/arch/arm/mach-stmp37xx/Makefile.boot +++ b/arch/arm/mach-stmp37xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 initrd_phys-y := 0x40800000 diff --git a/arch/arm/mach-u300/Makefile.boot b/arch/arm/mach-u300/Makefile.boot index 6fbfc6e..9f7ca02 100644 --- a/arch/arm/mach-u300/Makefile.boot +++ b/arch/arm/mach-u300/Makefile.boot @@ -4,10 +4,8 @@ # INITRD_PHYS must be in RAM ifdef CONFIG_MACH_U300_SINGLE_RAM - zreladdr-y := 0x28E08000 params_phys-y := 0x28E00100 else - zreladdr-y := 0x48008000 params_phys-y := 0x48000100 endif diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-ux500/Makefile.boot +++ b/arch/arm/mach-ux500/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-versatile/Makefile.boot +++ b/arch/arm/mach-versatile/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot index 07c2d9c..9acbba0 100644 --- a/arch/arm/mach-vexpress/Makefile.boot +++ b/arch/arm/mach-vexpress/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x60008000 params_phys-y := 0x60000100 initrd_phys-y := 0x60800000 diff --git a/arch/arm/mach-w90x900/Makefile.boot b/arch/arm/mach-w90x900/Makefile.boot index a057b54..1bca921 100644 --- a/arch/arm/mach-w90x900/Makefile.boot +++ b/arch/arm/mach-w90x900/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 7/7] ARM: removed unused zreladdr specifications in all Makefile.boot files 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-09-03 15:01 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/mach-aaec2000/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-at91/Makefile.boot ? ? ? | ? ?3 --- > ?arch/arm/mach-clps711x/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-cns3xxx/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-davinci/Makefile.boot ? ?| ? ?2 -- > ?arch/arm/mach-dove/Makefile.boot ? ? ? | ? ?1 - > ?arch/arm/mach-ebsa110/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-ep93xx/Makefile.boot ? ? | ? ?5 ----- > ?arch/arm/mach-footbridge/Makefile.boot | ? ?1 - > ?arch/arm/mach-gemini/Makefile.boot ? ? | ? ?2 -- > ?arch/arm/mach-imx/Makefile.boot ? ? ? ?| ? ?3 --- > ?arch/arm/mach-integrator/Makefile.boot | ? ?1 - > ?arch/arm/mach-iop13xx/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-iop32x/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-iop33x/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-ixp2000/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-ixp23xx/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-ixp4xx/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-kirkwood/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-ks8695/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-lh7a40x/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-loki/Makefile.boot ? ? ? | ? ?1 - > ?arch/arm/mach-mmp/Makefile.boot ? ? ? ?| ? ?1 - > ?arch/arm/mach-msm/Makefile.boot ? ? ? ?| ? ?1 - > ?arch/arm/mach-mv78xx0/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-mx25/Makefile.boot ? ? ? | ? ?1 - > ?arch/arm/mach-mx3/Makefile.boot ? ? ? ?| ? ?1 - > ?arch/arm/mach-mx5/Makefile.boot ? ? ? ?| ? ?1 - > ?arch/arm/mach-mxc91231/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-netx/Makefile.boot ? ? ? | ? ?1 - > ?arch/arm/mach-nomadik/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-ns9xxx/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-nuc93x/Makefile.boot ? ? | ? ?1 - > ?arch/arm/mach-omap1/Makefile.boot ? ? ?| ? ?1 - > ?arch/arm/mach-omap2/Makefile.boot ? ? ?| ? ?1 - > ?arch/arm/mach-orion5x/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-pnx4008/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-pxa/Makefile.boot ? ? ? ?| ? ?1 - I'd prefer some of the Makefile.boot be completely removed if they contain only the definition of zreladdr-y, e.g. mach-pxa/ > ?arch/arm/mach-realview/Makefile.boot ? | ? ?2 -- > ?arch/arm/mach-rpc/Makefile.boot ? ? ? ?| ? ?1 - > ?arch/arm/mach-s3c2410/Makefile.boot ? ?| ? ?2 -- > ?arch/arm/mach-s3c64xx/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-s5p6440/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-s5p6442/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-s5pc100/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-s5pv210/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-s5pv310/Makefile.boot ? ?| ? ?1 - > ?arch/arm/mach-sa1100/Makefile.boot ? ? | ? ?2 -- > ?arch/arm/mach-shark/Makefile.boot ? ? ?| ? ?2 -- > ?arch/arm/mach-spear3xx/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-spear6xx/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-stmp378x/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-stmp37xx/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-u300/Makefile.boot ? ? ? | ? ?2 -- > ?arch/arm/mach-ux500/Makefile.boot ? ? ?| ? ?1 - > ?arch/arm/mach-versatile/Makefile.boot ?| ? ?1 - > ?arch/arm/mach-vexpress/Makefile.boot ? | ? ?1 - > ?arch/arm/mach-w90x900/Makefile.boot ? ?| ? ?1 - > ?58 files changed, 0 insertions(+), 73 deletions(-) > ?delete mode 100644 arch/arm/mach-shark/Makefile.boot > > diff --git a/arch/arm/mach-aaec2000/Makefile.boot b/arch/arm/mach-aaec2000/Makefile.boot > index 8f5a8b7..e69de29 100644 > --- a/arch/arm/mach-aaec2000/Makefile.boot > +++ b/arch/arm/mach-aaec2000/Makefile.boot > @@ -1 +0,0 @@ > - ? ? ? zreladdr-y := 0xf0008000 > diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot > index 3462b81..9d7c05c 100644 > --- a/arch/arm/mach-at91/Makefile.boot > +++ b/arch/arm/mach-at91/Makefile.boot > @@ -4,15 +4,12 @@ > ?# ? INITRD_PHYS must be in RAM > > ?ifeq ($(CONFIG_ARCH_AT91CAP9),y) > - ? zreladdr-y ?:= 0x70008000 > ?params_phys-y ?:= 0x70000100 > ?initrd_phys-y ?:= 0x70410000 > ?else ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) > - ? zreladdr-y ?:= 0x70008000 > ?params_phys-y ?:= 0x70000100 > ?initrd_phys-y ?:= 0x70410000 > ?else > - ? zreladdr-y ?:= 0x20008000 > ?params_phys-y ?:= 0x20000100 > ?initrd_phys-y ?:= 0x20410000 > ?endif > diff --git a/arch/arm/mach-clps711x/Makefile.boot b/arch/arm/mach-clps711x/Makefile.boot > index a51fcef..eba77d3 100644 > --- a/arch/arm/mach-clps711x/Makefile.boot > +++ b/arch/arm/mach-clps711x/Makefile.boot > @@ -1,5 +1,4 @@ > ?# The standard locations for stuff on CLPS711x type processors > - ? zreladdr-y ? ? ? ? ? ? ? ? ? ? ? ? ?:= 0xc0028000 > ?params_phys-y ? ? ? ? ? ? ? ? ? ? ? ? ?:= 0xc0000100 > ?# Should probably have some agreement on these... > ?initrd_phys-$(CONFIG_ARCH_P720T) ? ? ? := 0xc0400000 > diff --git a/arch/arm/mach-cns3xxx/Makefile.boot b/arch/arm/mach-cns3xxx/Makefile.boot > index 7770128..6ac39ff 100644 > --- a/arch/arm/mach-cns3xxx/Makefile.boot > +++ b/arch/arm/mach-cns3xxx/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00C00000 > diff --git a/arch/arm/mach-davinci/Makefile.boot b/arch/arm/mach-davinci/Makefile.boot > index db97ef2..8cdb5ac 100644 > --- a/arch/arm/mach-davinci/Makefile.boot > +++ b/arch/arm/mach-davinci/Makefile.boot > @@ -2,12 +2,10 @@ ifeq ($(CONFIG_ARCH_DAVINCI_DA8XX),y) > ?ifeq ($(CONFIG_ARCH_DAVINCI_DMx),y) > ?$(error Cannot enable DaVinci and DA8XX platforms concurrently) > ?else > - ? zreladdr-y ?:= 0xc0008000 > ?params_phys-y ?:= 0xc0000100 > ?initrd_phys-y ?:= 0xc0800000 > ?endif > ?else > - ? zreladdr-y ?:= 0x80008000 > ?params_phys-y ?:= 0x80000100 > ?initrd_phys-y ?:= 0x80800000 > ?endif > diff --git a/arch/arm/mach-dove/Makefile.boot b/arch/arm/mach-dove/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-dove/Makefile.boot > +++ b/arch/arm/mach-dove/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-ebsa110/Makefile.boot b/arch/arm/mach-ebsa110/Makefile.boot > index 2321260..cb7c513 100644 > --- a/arch/arm/mach-ebsa110/Makefile.boot > +++ b/arch/arm/mach-ebsa110/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000400 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-ep93xx/Makefile.boot b/arch/arm/mach-ep93xx/Makefile.boot > index 0ad33f1..fcffffa 100644 > --- a/arch/arm/mach-ep93xx/Makefile.boot > +++ b/arch/arm/mach-ep93xx/Makefile.boot > @@ -1,14 +1,9 @@ > - ? zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) ? ?:= 0x00008000 > ?params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) ? ?:= 0x00000100 > > - ? zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) ? ? ? ? := 0xc0008000 > ?params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) ? ? ? ? := 0xc0000100 > > - ? zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) ? ? ? ? := 0xd0008000 > ?params_phys-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) ? ? ? ? := 0xd0000100 > > - ? zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) ? ? ? ? := 0xe0008000 > ?params_phys-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) ? ? ? ? := 0xe0000100 > > - ? zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) ? := 0xf0008000 > ?params_phys-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) ? := 0xf0000100 > diff --git a/arch/arm/mach-footbridge/Makefile.boot b/arch/arm/mach-footbridge/Makefile.boot > index c7e75ac..ee22553 100644 > --- a/arch/arm/mach-footbridge/Makefile.boot > +++ b/arch/arm/mach-footbridge/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-gemini/Makefile.boot b/arch/arm/mach-gemini/Makefile.boot > index 22a52c2..88f25e9 100644 > --- a/arch/arm/mach-gemini/Makefile.boot > +++ b/arch/arm/mach-gemini/Makefile.boot > @@ -1,9 +1,7 @@ > ?ifeq ($(CONFIG_GEMINI_MEM_SWAP),y) > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > ?else > - ? zreladdr-y ?:= 0x10008000 > ?params_phys-y ?:= 0x10000100 > ?initrd_phys-y ?:= 0x10800000 > ?endif > diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot > index 7988a85..110aa36 100644 > --- a/arch/arm/mach-imx/Makefile.boot > +++ b/arch/arm/mach-imx/Makefile.boot > @@ -1,11 +1,8 @@ > -zreladdr-$(CONFIG_ARCH_MX1) ? ?:= 0x08008000 > ?params_phys-$(CONFIG_ARCH_MX1) := 0x08000100 > ?initrd_phys-$(CONFIG_ARCH_MX1) := 0x08800000 > > -zreladdr-$(CONFIG_MACH_MX21) ? := 0xC0008000 > ?params_phys-$(CONFIG_MACH_MX21) ? ? ? ?:= 0xC0000100 > ?initrd_phys-$(CONFIG_MACH_MX21) ? ? ? ?:= 0xC0800000 > > -zreladdr-$(CONFIG_MACH_MX27) ? := 0xA0008000 > ?params_phys-$(CONFIG_MACH_MX27) ? ? ? ?:= 0xA0000100 > ?initrd_phys-$(CONFIG_MACH_MX27) ? ? ? ?:= 0xA0800000 > diff --git a/arch/arm/mach-integrator/Makefile.boot b/arch/arm/mach-integrator/Makefile.boot > index c7e75ac..ee22553 100644 > --- a/arch/arm/mach-integrator/Makefile.boot > +++ b/arch/arm/mach-integrator/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-iop13xx/Makefile.boot b/arch/arm/mach-iop13xx/Makefile.boot > index 0b0e19f..6e25cb5 100644 > --- a/arch/arm/mach-iop13xx/Makefile.boot > +++ b/arch/arm/mach-iop13xx/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ? := 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-iop32x/Makefile.boot b/arch/arm/mach-iop32x/Makefile.boot > index 47000dc..5e0e4f6 100644 > --- a/arch/arm/mach-iop32x/Makefile.boot > +++ b/arch/arm/mach-iop32x/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0xa0008000 > ?params_phys-y ?:= 0xa0000100 > ?initrd_phys-y ?:= 0xa0800000 > diff --git a/arch/arm/mach-iop33x/Makefile.boot b/arch/arm/mach-iop33x/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-iop33x/Makefile.boot > +++ b/arch/arm/mach-iop33x/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-ixp2000/Makefile.boot b/arch/arm/mach-ixp2000/Makefile.boot > index d84c580..1bca921 100644 > --- a/arch/arm/mach-ixp2000/Makefile.boot > +++ b/arch/arm/mach-ixp2000/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > > diff --git a/arch/arm/mach-ixp23xx/Makefile.boot b/arch/arm/mach-ixp23xx/Makefile.boot > index d5561ad..cb69427 100644 > --- a/arch/arm/mach-ixp23xx/Makefile.boot > +++ b/arch/arm/mach-ixp23xx/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > diff --git a/arch/arm/mach-ixp4xx/Makefile.boot b/arch/arm/mach-ixp4xx/Makefile.boot > index d84c580..1bca921 100644 > --- a/arch/arm/mach-ixp4xx/Makefile.boot > +++ b/arch/arm/mach-ixp4xx/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > > diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-kirkwood/Makefile.boot > +++ b/arch/arm/mach-kirkwood/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-ks8695/Makefile.boot b/arch/arm/mach-ks8695/Makefile.boot > index 48eb2cb..11ea079 100644 > --- a/arch/arm/mach-ks8695/Makefile.boot > +++ b/arch/arm/mach-ks8695/Makefile.boot > @@ -3,6 +3,5 @@ > ?# ? PARAMS_PHYS must be within 4MB of ZRELADDR > ?# ? INITRD_PHYS must be in RAM > > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-lh7a40x/Makefile.boot b/arch/arm/mach-lh7a40x/Makefile.boot > index af941be..5a78392 100644 > --- a/arch/arm/mach-lh7a40x/Makefile.boot > +++ b/arch/arm/mach-lh7a40x/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0xc0008000 > ?params_phys-y ?:= 0xc0000100 > ?initrd_phys-y ?:= 0xc4000000 > > diff --git a/arch/arm/mach-loki/Makefile.boot b/arch/arm/mach-loki/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-loki/Makefile.boot > +++ b/arch/arm/mach-loki/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-mmp/Makefile.boot b/arch/arm/mach-mmp/Makefile.boot > index 574a4aa..e69de29 100644 > --- a/arch/arm/mach-mmp/Makefile.boot > +++ b/arch/arm/mach-mmp/Makefile.boot > @@ -1 +0,0 @@ > - ? zreladdr-y ?:= 0x00008000 > diff --git a/arch/arm/mach-msm/Makefile.boot b/arch/arm/mach-msm/Makefile.boot > index 24dfbf8..14acc97 100644 > --- a/arch/arm/mach-msm/Makefile.boot > +++ b/arch/arm/mach-msm/Makefile.boot > @@ -1,3 +1,2 @@ > - ?zreladdr-y ? ? ? ? ? := 0x10008000 > ?params_phys-y ? ? ? ? ?:= 0x10000100 > ?initrd_phys-y ? ? ? ? ?:= 0x10800000 > diff --git a/arch/arm/mach-mv78xx0/Makefile.boot b/arch/arm/mach-mv78xx0/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-mv78xx0/Makefile.boot > +++ b/arch/arm/mach-mv78xx0/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-mx25/Makefile.boot b/arch/arm/mach-mx25/Makefile.boot > index e1dd366..77987d8 100644 > --- a/arch/arm/mach-mx25/Makefile.boot > +++ b/arch/arm/mach-mx25/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x80008000 > ?params_phys-y ?:= 0x80000100 > ?initrd_phys-y ?:= 0x80800000 > diff --git a/arch/arm/mach-mx3/Makefile.boot b/arch/arm/mach-mx3/Makefile.boot > index e1dd366..77987d8 100644 > --- a/arch/arm/mach-mx3/Makefile.boot > +++ b/arch/arm/mach-mx3/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x80008000 > ?params_phys-y ?:= 0x80000100 > ?initrd_phys-y ?:= 0x80800000 > diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot > index 9939a19..62b05d4 100644 > --- a/arch/arm/mach-mx5/Makefile.boot > +++ b/arch/arm/mach-mx5/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x90008000 > ?params_phys-y ?:= 0x90000100 > ?initrd_phys-y ?:= 0x90800000 > diff --git a/arch/arm/mach-mxc91231/Makefile.boot b/arch/arm/mach-mxc91231/Makefile.boot > index 9939a19..62b05d4 100644 > --- a/arch/arm/mach-mxc91231/Makefile.boot > +++ b/arch/arm/mach-mxc91231/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x90008000 > ?params_phys-y ?:= 0x90000100 > ?initrd_phys-y ?:= 0x90800000 > diff --git a/arch/arm/mach-netx/Makefile.boot b/arch/arm/mach-netx/Makefile.boot > index b81cf6a..8b13789 100644 > --- a/arch/arm/mach-netx/Makefile.boot > +++ b/arch/arm/mach-netx/Makefile.boot > @@ -1,2 +1 @@ > - ? ?zreladdr-y ? ? ? ? ? ? ? ? := 0x80008000 > > diff --git a/arch/arm/mach-nomadik/Makefile.boot b/arch/arm/mach-nomadik/Makefile.boot > index c7e75ac..ee22553 100644 > --- a/arch/arm/mach-nomadik/Makefile.boot > +++ b/arch/arm/mach-nomadik/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-ns9xxx/Makefile.boot b/arch/arm/mach-ns9xxx/Makefile.boot > index 5465491..bdf4f71 100644 > --- a/arch/arm/mach-ns9xxx/Makefile.boot > +++ b/arch/arm/mach-ns9xxx/Makefile.boot > @@ -1,2 +1 @@ > -zreladdr-y := 0x8000 > ?params_phys-y := 0x100 > diff --git a/arch/arm/mach-nuc93x/Makefile.boot b/arch/arm/mach-nuc93x/Makefile.boot > index a057b54..1bca921 100644 > --- a/arch/arm/mach-nuc93x/Makefile.boot > +++ b/arch/arm/mach-nuc93x/Makefile.boot > @@ -1,3 +1,2 @@ > -zreladdr-y ? ? := 0x00008000 > ?params_phys-y ?:= 0x00000100 > > diff --git a/arch/arm/mach-omap1/Makefile.boot b/arch/arm/mach-omap1/Makefile.boot > index 292d56c..14acc97 100644 > --- a/arch/arm/mach-omap1/Makefile.boot > +++ b/arch/arm/mach-omap1/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ? ? ? ? ?:= 0x10008000 > ?params_phys-y ? ? ? ? ?:= 0x10000100 > ?initrd_phys-y ? ? ? ? ?:= 0x10800000 > diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot > index 565aff7..a99818f 100644 > --- a/arch/arm/mach-omap2/Makefile.boot > +++ b/arch/arm/mach-omap2/Makefile.boot > @@ -1,3 +1,2 @@ > - ?zreladdr-y ? ? ? ? ? := 0x80008000 > ?params_phys-y ? ? ? ? ?:= 0x80000100 > ?initrd_phys-y ? ? ? ? ?:= 0x80800000 > diff --git a/arch/arm/mach-orion5x/Makefile.boot b/arch/arm/mach-orion5x/Makefile.boot > index 67039c3..80f4945 100644 > --- a/arch/arm/mach-orion5x/Makefile.boot > +++ b/arch/arm/mach-orion5x/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-pnx4008/Makefile.boot b/arch/arm/mach-pnx4008/Makefile.boot > index 44c7117..76905a0 100644 > --- a/arch/arm/mach-pnx4008/Makefile.boot > +++ b/arch/arm/mach-pnx4008/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ? ? ? ? ?:= 0x80008000 > ?params_phys-y ? ? ? ? ?:= 0x80000100 > ?initrd_phys-y ? ? ? ? ?:= 0x80800000 > > diff --git a/arch/arm/mach-pxa/Makefile.boot b/arch/arm/mach-pxa/Makefile.boot > index 1ead671..8b13789 100644 > --- a/arch/arm/mach-pxa/Makefile.boot > +++ b/arch/arm/mach-pxa/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0xa0008000 > > diff --git a/arch/arm/mach-realview/Makefile.boot b/arch/arm/mach-realview/Makefile.boot > index d97e003..886d020 100644 > --- a/arch/arm/mach-realview/Makefile.boot > +++ b/arch/arm/mach-realview/Makefile.boot > @@ -1,9 +1,7 @@ > ?ifeq ($(CONFIG_REALVIEW_HIGH_PHYS_OFFSET),y) > - ? zreladdr-y ?:= 0x70008000 > ?params_phys-y ?:= 0x70000100 > ?initrd_phys-y ?:= 0x70800000 > ?else > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > ?endif > diff --git a/arch/arm/mach-rpc/Makefile.boot b/arch/arm/mach-rpc/Makefile.boot > index 9c9e768..3c7cc4a 100644 > --- a/arch/arm/mach-rpc/Makefile.boot > +++ b/arch/arm/mach-rpc/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x10008000 > ?params_phys-y ?:= 0x10000100 > ?initrd_phys-y ?:= 0x18000000 > > diff --git a/arch/arm/mach-s3c2410/Makefile.boot b/arch/arm/mach-s3c2410/Makefile.boot > index 58c1dd7..69dbda1 100644 > --- a/arch/arm/mach-s3c2410/Makefile.boot > +++ b/arch/arm/mach-s3c2410/Makefile.boot > @@ -1,7 +1,5 @@ > ?ifeq ($(CONFIG_PM_H1940),y) > - ? ? ? zreladdr-y ? ? ? ? ? ? ?:= 0x30108000 > ? ? ? ?params_phys-y ? := 0x30100100 > ?else > - ? ? ? zreladdr-y ? ? ? ? ? ? ?:= 0x30008000 > ? ? ? ?params_phys-y ? := 0x30000100 > ?endif > diff --git a/arch/arm/mach-s3c64xx/Makefile.boot b/arch/arm/mach-s3c64xx/Makefile.boot > index ba41fdc..b6349bd 100644 > --- a/arch/arm/mach-s3c64xx/Makefile.boot > +++ b/arch/arm/mach-s3c64xx/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x50008000 > ?params_phys-y ?:= 0x50000100 > diff --git a/arch/arm/mach-s5p6440/Makefile.boot b/arch/arm/mach-s5p6440/Makefile.boot > index ff90aa1..9a79532 100644 > --- a/arch/arm/mach-s5p6440/Makefile.boot > +++ b/arch/arm/mach-s5p6440/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x20008000 > ?params_phys-y ?:= 0x20000100 > diff --git a/arch/arm/mach-s5p6442/Makefile.boot b/arch/arm/mach-s5p6442/Makefile.boot > index ff90aa1..9a79532 100644 > --- a/arch/arm/mach-s5p6442/Makefile.boot > +++ b/arch/arm/mach-s5p6442/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x20008000 > ?params_phys-y ?:= 0x20000100 > diff --git a/arch/arm/mach-s5pc100/Makefile.boot b/arch/arm/mach-s5pc100/Makefile.boot > index ff90aa1..9a79532 100644 > --- a/arch/arm/mach-s5pc100/Makefile.boot > +++ b/arch/arm/mach-s5pc100/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x20008000 > ?params_phys-y ?:= 0x20000100 > diff --git a/arch/arm/mach-s5pv210/Makefile.boot b/arch/arm/mach-s5pv210/Makefile.boot > index ff90aa1..9a79532 100644 > --- a/arch/arm/mach-s5pv210/Makefile.boot > +++ b/arch/arm/mach-s5pv210/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x20008000 > ?params_phys-y ?:= 0x20000100 > diff --git a/arch/arm/mach-s5pv310/Makefile.boot b/arch/arm/mach-s5pv310/Makefile.boot > index d65956f..85644bc 100644 > --- a/arch/arm/mach-s5pv310/Makefile.boot > +++ b/arch/arm/mach-s5pv310/Makefile.boot > @@ -1,2 +1 @@ > - ? zreladdr-y ?:= 0x40008000 > ?params_phys-y ?:= 0x40000100 > diff --git a/arch/arm/mach-sa1100/Makefile.boot b/arch/arm/mach-sa1100/Makefile.boot > index a56ad04..df520d6 100644 > --- a/arch/arm/mach-sa1100/Makefile.boot > +++ b/arch/arm/mach-sa1100/Makefile.boot > @@ -1,6 +1,4 @@ > - ? zreladdr-y ?:= 0xc0008000 > ?ifeq ($(CONFIG_ARCH_SA1100),y) > - ? zreladdr-$(CONFIG_SA1111) ? ? ? ? ? := 0xc0208000 > ?endif > ?params_phys-y ?:= 0xc0000100 > ?initrd_phys-y ?:= 0xc0800000 > diff --git a/arch/arm/mach-shark/Makefile.boot b/arch/arm/mach-shark/Makefile.boot > deleted file mode 100644 > index 4320f8b..0000000 > --- a/arch/arm/mach-shark/Makefile.boot > +++ /dev/null > @@ -1,2 +0,0 @@ > - ? zreladdr-y ?:= 0x08008000 > - > diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot > index 7a1f3c0..80f4945 100644 > --- a/arch/arm/mach-spear3xx/Makefile.boot > +++ b/arch/arm/mach-spear3xx/Makefile.boot > @@ -1,3 +1,2 @@ > -zreladdr-y ? ? := 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot > index 7a1f3c0..80f4945 100644 > --- a/arch/arm/mach-spear6xx/Makefile.boot > +++ b/arch/arm/mach-spear6xx/Makefile.boot > @@ -1,3 +1,2 @@ > -zreladdr-y ? ? := 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > diff --git a/arch/arm/mach-stmp378x/Makefile.boot b/arch/arm/mach-stmp378x/Makefile.boot > index 1568ad4..71e6728 100644 > --- a/arch/arm/mach-stmp378x/Makefile.boot > +++ b/arch/arm/mach-stmp378x/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x40008000 > ?params_phys-y ?:= 0x40000100 > ?initrd_phys-y ?:= 0x40800000 > diff --git a/arch/arm/mach-stmp37xx/Makefile.boot b/arch/arm/mach-stmp37xx/Makefile.boot > index 1568ad4..71e6728 100644 > --- a/arch/arm/mach-stmp37xx/Makefile.boot > +++ b/arch/arm/mach-stmp37xx/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x40008000 > ?params_phys-y ?:= 0x40000100 > ?initrd_phys-y ?:= 0x40800000 > diff --git a/arch/arm/mach-u300/Makefile.boot b/arch/arm/mach-u300/Makefile.boot > index 6fbfc6e..9f7ca02 100644 > --- a/arch/arm/mach-u300/Makefile.boot > +++ b/arch/arm/mach-u300/Makefile.boot > @@ -4,10 +4,8 @@ > ?# ? INITRD_PHYS must be in RAM > > ?ifdef CONFIG_MACH_U300_SINGLE_RAM > - ? ? zreladdr-y ? ? ? ?:= 0x28E08000 > ? params_phys-y ? ? ? ?:= 0x28E00100 > ?else > - ? ? zreladdr-y ? ? ? ?:= 0x48008000 > ? params_phys-y ? ? ? ?:= 0x48000100 > ?endif > > diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot > index c7e75ac..ee22553 100644 > --- a/arch/arm/mach-ux500/Makefile.boot > +++ b/arch/arm/mach-ux500/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot > index c7e75ac..ee22553 100644 > --- a/arch/arm/mach-versatile/Makefile.boot > +++ b/arch/arm/mach-versatile/Makefile.boot > @@ -1,4 +1,3 @@ > - ? zreladdr-y ?:= 0x00008000 > ?params_phys-y ?:= 0x00000100 > ?initrd_phys-y ?:= 0x00800000 > > diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot > index 07c2d9c..9acbba0 100644 > --- a/arch/arm/mach-vexpress/Makefile.boot > +++ b/arch/arm/mach-vexpress/Makefile.boot > @@ -1,3 +1,2 @@ > - ? zreladdr-y ?:= 0x60008000 > ?params_phys-y ?:= 0x60000100 > ?initrd_phys-y ?:= 0x60800000 > diff --git a/arch/arm/mach-w90x900/Makefile.boot b/arch/arm/mach-w90x900/Makefile.boot > index a057b54..1bca921 100644 > --- a/arch/arm/mach-w90x900/Makefile.boot > +++ b/arch/arm/mach-w90x900/Makefile.boot > @@ -1,3 +1,2 @@ > -zreladdr-y ? ? := 0x00008000 > ?params_phys-y ?:= 0x00000100 > > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 7/7 v2] ARM: removed unused zreladdr specifications in all Makefile.boot files 2010-09-03 15:01 ` Eric Miao @ 2010-09-03 18:48 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 18:48 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- Hello, compared to v1 I now deleted arch/arm/mach-aaec2000/Makefile.boot arch/arm/mach-mmp/Makefile.boot arch/arm/mach-netx/Makefile.boot arch/arm/mach-pxa/Makefile.boot (found by grep -L '[^=]' arch/arm/mach-*/Makefile.boot) and removed an (now) empty if from arch/arm/mach-sa1100/Makefile.boot (and a trailing empty line) Thanks Uwe arch/arm/mach-aaec2000/Makefile.boot | 1 - arch/arm/mach-at91/Makefile.boot | 3 --- arch/arm/mach-clps711x/Makefile.boot | 1 - arch/arm/mach-cns3xxx/Makefile.boot | 1 - arch/arm/mach-davinci/Makefile.boot | 2 -- arch/arm/mach-dove/Makefile.boot | 1 - arch/arm/mach-ebsa110/Makefile.boot | 1 - arch/arm/mach-ep93xx/Makefile.boot | 5 ----- arch/arm/mach-footbridge/Makefile.boot | 1 - arch/arm/mach-gemini/Makefile.boot | 2 -- arch/arm/mach-imx/Makefile.boot | 3 --- arch/arm/mach-integrator/Makefile.boot | 1 - arch/arm/mach-iop13xx/Makefile.boot | 1 - arch/arm/mach-iop32x/Makefile.boot | 1 - arch/arm/mach-iop33x/Makefile.boot | 1 - arch/arm/mach-ixp2000/Makefile.boot | 1 - arch/arm/mach-ixp23xx/Makefile.boot | 1 - arch/arm/mach-ixp4xx/Makefile.boot | 1 - arch/arm/mach-kirkwood/Makefile.boot | 1 - arch/arm/mach-ks8695/Makefile.boot | 1 - arch/arm/mach-lh7a40x/Makefile.boot | 1 - arch/arm/mach-loki/Makefile.boot | 1 - arch/arm/mach-mmp/Makefile.boot | 1 - arch/arm/mach-msm/Makefile.boot | 1 - arch/arm/mach-mv78xx0/Makefile.boot | 1 - arch/arm/mach-mx25/Makefile.boot | 1 - arch/arm/mach-mx3/Makefile.boot | 1 - arch/arm/mach-mx5/Makefile.boot | 1 - arch/arm/mach-mxc91231/Makefile.boot | 1 - arch/arm/mach-netx/Makefile.boot | 2 -- arch/arm/mach-nomadik/Makefile.boot | 1 - arch/arm/mach-ns9xxx/Makefile.boot | 1 - arch/arm/mach-nuc93x/Makefile.boot | 1 - arch/arm/mach-omap1/Makefile.boot | 1 - arch/arm/mach-omap2/Makefile.boot | 1 - arch/arm/mach-orion5x/Makefile.boot | 1 - arch/arm/mach-pnx4008/Makefile.boot | 1 - arch/arm/mach-pxa/Makefile.boot | 2 -- arch/arm/mach-realview/Makefile.boot | 2 -- arch/arm/mach-rpc/Makefile.boot | 1 - arch/arm/mach-s3c2410/Makefile.boot | 2 -- arch/arm/mach-s3c64xx/Makefile.boot | 1 - arch/arm/mach-s5p6440/Makefile.boot | 1 - arch/arm/mach-s5p6442/Makefile.boot | 1 - arch/arm/mach-s5pc100/Makefile.boot | 1 - arch/arm/mach-s5pv210/Makefile.boot | 1 - arch/arm/mach-s5pv310/Makefile.boot | 1 - arch/arm/mach-sa1100/Makefile.boot | 5 ----- arch/arm/mach-shark/Makefile.boot | 2 -- arch/arm/mach-spear3xx/Makefile.boot | 1 - arch/arm/mach-spear6xx/Makefile.boot | 1 - arch/arm/mach-stmp378x/Makefile.boot | 1 - arch/arm/mach-stmp37xx/Makefile.boot | 1 - arch/arm/mach-u300/Makefile.boot | 2 -- arch/arm/mach-ux500/Makefile.boot | 1 - arch/arm/mach-versatile/Makefile.boot | 1 - arch/arm/mach-vexpress/Makefile.boot | 1 - arch/arm/mach-w90x900/Makefile.boot | 1 - 58 files changed, 0 insertions(+), 78 deletions(-) delete mode 100644 arch/arm/mach-aaec2000/Makefile.boot delete mode 100644 arch/arm/mach-mmp/Makefile.boot delete mode 100644 arch/arm/mach-netx/Makefile.boot delete mode 100644 arch/arm/mach-pxa/Makefile.boot delete mode 100644 arch/arm/mach-shark/Makefile.boot diff --git a/arch/arm/mach-aaec2000/Makefile.boot b/arch/arm/mach-aaec2000/Makefile.boot deleted file mode 100644 index 8f5a8b7..0000000 --- a/arch/arm/mach-aaec2000/Makefile.boot +++ /dev/null @@ -1 +0,0 @@ - zreladdr-y := 0xf0008000 diff --git a/arch/arm/mach-at91/Makefile.boot b/arch/arm/mach-at91/Makefile.boot index 3462b81..9d7c05c 100644 --- a/arch/arm/mach-at91/Makefile.boot +++ b/arch/arm/mach-at91/Makefile.boot @@ -4,15 +4,12 @@ # INITRD_PHYS must be in RAM ifeq ($(CONFIG_ARCH_AT91CAP9),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70410000 else ifeq ($(CONFIG_ARCH_AT91SAM9G45),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70410000 else - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 initrd_phys-y := 0x20410000 endif diff --git a/arch/arm/mach-clps711x/Makefile.boot b/arch/arm/mach-clps711x/Makefile.boot index a51fcef..eba77d3 100644 --- a/arch/arm/mach-clps711x/Makefile.boot +++ b/arch/arm/mach-clps711x/Makefile.boot @@ -1,5 +1,4 @@ # The standard locations for stuff on CLPS711x type processors - zreladdr-y := 0xc0028000 params_phys-y := 0xc0000100 # Should probably have some agreement on these... initrd_phys-$(CONFIG_ARCH_P720T) := 0xc0400000 diff --git a/arch/arm/mach-cns3xxx/Makefile.boot b/arch/arm/mach-cns3xxx/Makefile.boot index 7770128..6ac39ff 100644 --- a/arch/arm/mach-cns3xxx/Makefile.boot +++ b/arch/arm/mach-cns3xxx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00C00000 diff --git a/arch/arm/mach-davinci/Makefile.boot b/arch/arm/mach-davinci/Makefile.boot index db97ef2..8cdb5ac 100644 --- a/arch/arm/mach-davinci/Makefile.boot +++ b/arch/arm/mach-davinci/Makefile.boot @@ -2,12 +2,10 @@ ifeq ($(CONFIG_ARCH_DAVINCI_DA8XX),y) ifeq ($(CONFIG_ARCH_DAVINCI_DMx),y) $(error Cannot enable DaVinci and DA8XX platforms concurrently) else - zreladdr-y := 0xc0008000 params_phys-y := 0xc0000100 initrd_phys-y := 0xc0800000 endif else - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 endif diff --git a/arch/arm/mach-dove/Makefile.boot b/arch/arm/mach-dove/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-dove/Makefile.boot +++ b/arch/arm/mach-dove/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ebsa110/Makefile.boot b/arch/arm/mach-ebsa110/Makefile.boot index 2321260..cb7c513 100644 --- a/arch/arm/mach-ebsa110/Makefile.boot +++ b/arch/arm/mach-ebsa110/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000400 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ep93xx/Makefile.boot b/arch/arm/mach-ep93xx/Makefile.boot index 0ad33f1..fcffffa 100644 --- a/arch/arm/mach-ep93xx/Makefile.boot +++ b/arch/arm/mach-ep93xx/Makefile.boot @@ -1,14 +1,9 @@ - zreladdr-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00008000 params_phys-$(CONFIG_EP93XX_SDCE3_SYNC_PHYS_OFFSET) := 0x00000100 - zreladdr-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0008000 params_phys-$(CONFIG_EP93XX_SDCE0_PHYS_OFFSET) := 0xc0000100 - zreladdr-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0008000 params_phys-$(CONFIG_EP93XX_SDCE1_PHYS_OFFSET) := 0xd0000100 - zreladdr-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0008000 params_phys-$(CONFIG_EP93XX_SDCE2_PHYS_OFFSET) := 0xe0000100 - zreladdr-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0008000 params_phys-$(CONFIG_EP93XX_SDCE3_ASYNC_PHYS_OFFSET) := 0xf0000100 diff --git a/arch/arm/mach-footbridge/Makefile.boot b/arch/arm/mach-footbridge/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-footbridge/Makefile.boot +++ b/arch/arm/mach-footbridge/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-gemini/Makefile.boot b/arch/arm/mach-gemini/Makefile.boot index 22a52c2..88f25e9 100644 --- a/arch/arm/mach-gemini/Makefile.boot +++ b/arch/arm/mach-gemini/Makefile.boot @@ -1,9 +1,7 @@ ifeq ($(CONFIG_GEMINI_MEM_SWAP),y) - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 else - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 endif diff --git a/arch/arm/mach-imx/Makefile.boot b/arch/arm/mach-imx/Makefile.boot index 7988a85..110aa36 100644 --- a/arch/arm/mach-imx/Makefile.boot +++ b/arch/arm/mach-imx/Makefile.boot @@ -1,11 +1,8 @@ -zreladdr-$(CONFIG_ARCH_MX1) := 0x08008000 params_phys-$(CONFIG_ARCH_MX1) := 0x08000100 initrd_phys-$(CONFIG_ARCH_MX1) := 0x08800000 -zreladdr-$(CONFIG_MACH_MX21) := 0xC0008000 params_phys-$(CONFIG_MACH_MX21) := 0xC0000100 initrd_phys-$(CONFIG_MACH_MX21) := 0xC0800000 -zreladdr-$(CONFIG_MACH_MX27) := 0xA0008000 params_phys-$(CONFIG_MACH_MX27) := 0xA0000100 initrd_phys-$(CONFIG_MACH_MX27) := 0xA0800000 diff --git a/arch/arm/mach-integrator/Makefile.boot b/arch/arm/mach-integrator/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-integrator/Makefile.boot +++ b/arch/arm/mach-integrator/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-iop13xx/Makefile.boot b/arch/arm/mach-iop13xx/Makefile.boot index 0b0e19f..6e25cb5 100644 --- a/arch/arm/mach-iop13xx/Makefile.boot +++ b/arch/arm/mach-iop13xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-iop32x/Makefile.boot b/arch/arm/mach-iop32x/Makefile.boot index 47000dc..5e0e4f6 100644 --- a/arch/arm/mach-iop32x/Makefile.boot +++ b/arch/arm/mach-iop32x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0xa0008000 params_phys-y := 0xa0000100 initrd_phys-y := 0xa0800000 diff --git a/arch/arm/mach-iop33x/Makefile.boot b/arch/arm/mach-iop33x/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-iop33x/Makefile.boot +++ b/arch/arm/mach-iop33x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ixp2000/Makefile.boot b/arch/arm/mach-ixp2000/Makefile.boot index d84c580..1bca921 100644 --- a/arch/arm/mach-ixp2000/Makefile.boot +++ b/arch/arm/mach-ixp2000/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-ixp23xx/Makefile.boot b/arch/arm/mach-ixp23xx/Makefile.boot index d5561ad..cb69427 100644 --- a/arch/arm/mach-ixp23xx/Makefile.boot +++ b/arch/arm/mach-ixp23xx/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-ixp4xx/Makefile.boot b/arch/arm/mach-ixp4xx/Makefile.boot index d84c580..1bca921 100644 --- a/arch/arm/mach-ixp4xx/Makefile.boot +++ b/arch/arm/mach-ixp4xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-kirkwood/Makefile.boot b/arch/arm/mach-kirkwood/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-kirkwood/Makefile.boot +++ b/arch/arm/mach-kirkwood/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ks8695/Makefile.boot b/arch/arm/mach-ks8695/Makefile.boot index 48eb2cb..11ea079 100644 --- a/arch/arm/mach-ks8695/Makefile.boot +++ b/arch/arm/mach-ks8695/Makefile.boot @@ -3,6 +3,5 @@ # PARAMS_PHYS must be within 4MB of ZRELADDR # INITRD_PHYS must be in RAM - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-lh7a40x/Makefile.boot b/arch/arm/mach-lh7a40x/Makefile.boot index af941be..5a78392 100644 --- a/arch/arm/mach-lh7a40x/Makefile.boot +++ b/arch/arm/mach-lh7a40x/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0xc0008000 params_phys-y := 0xc0000100 initrd_phys-y := 0xc4000000 diff --git a/arch/arm/mach-loki/Makefile.boot b/arch/arm/mach-loki/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-loki/Makefile.boot +++ b/arch/arm/mach-loki/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-mmp/Makefile.boot b/arch/arm/mach-mmp/Makefile.boot deleted file mode 100644 index 574a4aa..0000000 --- a/arch/arm/mach-mmp/Makefile.boot +++ /dev/null @@ -1 +0,0 @@ - zreladdr-y := 0x00008000 diff --git a/arch/arm/mach-msm/Makefile.boot b/arch/arm/mach-msm/Makefile.boot index 24dfbf8..14acc97 100644 --- a/arch/arm/mach-msm/Makefile.boot +++ b/arch/arm/mach-msm/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 diff --git a/arch/arm/mach-mv78xx0/Makefile.boot b/arch/arm/mach-mv78xx0/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-mv78xx0/Makefile.boot +++ b/arch/arm/mach-mv78xx0/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-mx25/Makefile.boot b/arch/arm/mach-mx25/Makefile.boot index e1dd366..77987d8 100644 --- a/arch/arm/mach-mx25/Makefile.boot +++ b/arch/arm/mach-mx25/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-mx3/Makefile.boot b/arch/arm/mach-mx3/Makefile.boot index e1dd366..77987d8 100644 --- a/arch/arm/mach-mx3/Makefile.boot +++ b/arch/arm/mach-mx3/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-mx5/Makefile.boot b/arch/arm/mach-mx5/Makefile.boot index 9939a19..62b05d4 100644 --- a/arch/arm/mach-mx5/Makefile.boot +++ b/arch/arm/mach-mx5/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x90008000 params_phys-y := 0x90000100 initrd_phys-y := 0x90800000 diff --git a/arch/arm/mach-mxc91231/Makefile.boot b/arch/arm/mach-mxc91231/Makefile.boot index 9939a19..62b05d4 100644 --- a/arch/arm/mach-mxc91231/Makefile.boot +++ b/arch/arm/mach-mxc91231/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x90008000 params_phys-y := 0x90000100 initrd_phys-y := 0x90800000 diff --git a/arch/arm/mach-netx/Makefile.boot b/arch/arm/mach-netx/Makefile.boot deleted file mode 100644 index b81cf6a..0000000 --- a/arch/arm/mach-netx/Makefile.boot +++ /dev/null @@ -1,2 +0,0 @@ - zreladdr-y := 0x80008000 - diff --git a/arch/arm/mach-nomadik/Makefile.boot b/arch/arm/mach-nomadik/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-nomadik/Makefile.boot +++ b/arch/arm/mach-nomadik/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-ns9xxx/Makefile.boot b/arch/arm/mach-ns9xxx/Makefile.boot index 5465491..bdf4f71 100644 --- a/arch/arm/mach-ns9xxx/Makefile.boot +++ b/arch/arm/mach-ns9xxx/Makefile.boot @@ -1,2 +1 @@ -zreladdr-y := 0x8000 params_phys-y := 0x100 diff --git a/arch/arm/mach-nuc93x/Makefile.boot b/arch/arm/mach-nuc93x/Makefile.boot index a057b54..1bca921 100644 --- a/arch/arm/mach-nuc93x/Makefile.boot +++ b/arch/arm/mach-nuc93x/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 diff --git a/arch/arm/mach-omap1/Makefile.boot b/arch/arm/mach-omap1/Makefile.boot index 292d56c..14acc97 100644 --- a/arch/arm/mach-omap1/Makefile.boot +++ b/arch/arm/mach-omap1/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 diff --git a/arch/arm/mach-omap2/Makefile.boot b/arch/arm/mach-omap2/Makefile.boot index 565aff7..a99818f 100644 --- a/arch/arm/mach-omap2/Makefile.boot +++ b/arch/arm/mach-omap2/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-orion5x/Makefile.boot b/arch/arm/mach-orion5x/Makefile.boot index 67039c3..80f4945 100644 --- a/arch/arm/mach-orion5x/Makefile.boot +++ b/arch/arm/mach-orion5x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-pnx4008/Makefile.boot b/arch/arm/mach-pnx4008/Makefile.boot index 44c7117..76905a0 100644 --- a/arch/arm/mach-pnx4008/Makefile.boot +++ b/arch/arm/mach-pnx4008/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x80008000 params_phys-y := 0x80000100 initrd_phys-y := 0x80800000 diff --git a/arch/arm/mach-pxa/Makefile.boot b/arch/arm/mach-pxa/Makefile.boot deleted file mode 100644 index 1ead671..0000000 --- a/arch/arm/mach-pxa/Makefile.boot +++ /dev/null @@ -1,2 +0,0 @@ - zreladdr-y := 0xa0008000 - diff --git a/arch/arm/mach-realview/Makefile.boot b/arch/arm/mach-realview/Makefile.boot index d97e003..886d020 100644 --- a/arch/arm/mach-realview/Makefile.boot +++ b/arch/arm/mach-realview/Makefile.boot @@ -1,9 +1,7 @@ ifeq ($(CONFIG_REALVIEW_HIGH_PHYS_OFFSET),y) - zreladdr-y := 0x70008000 params_phys-y := 0x70000100 initrd_phys-y := 0x70800000 else - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 endif diff --git a/arch/arm/mach-rpc/Makefile.boot b/arch/arm/mach-rpc/Makefile.boot index 9c9e768..3c7cc4a 100644 --- a/arch/arm/mach-rpc/Makefile.boot +++ b/arch/arm/mach-rpc/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x18000000 diff --git a/arch/arm/mach-s3c2410/Makefile.boot b/arch/arm/mach-s3c2410/Makefile.boot index 58c1dd7..69dbda1 100644 --- a/arch/arm/mach-s3c2410/Makefile.boot +++ b/arch/arm/mach-s3c2410/Makefile.boot @@ -1,7 +1,5 @@ ifeq ($(CONFIG_PM_H1940),y) - zreladdr-y := 0x30108000 params_phys-y := 0x30100100 else - zreladdr-y := 0x30008000 params_phys-y := 0x30000100 endif diff --git a/arch/arm/mach-s3c64xx/Makefile.boot b/arch/arm/mach-s3c64xx/Makefile.boot index ba41fdc..b6349bd 100644 --- a/arch/arm/mach-s3c64xx/Makefile.boot +++ b/arch/arm/mach-s3c64xx/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x50008000 params_phys-y := 0x50000100 diff --git a/arch/arm/mach-s5p6440/Makefile.boot b/arch/arm/mach-s5p6440/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5p6440/Makefile.boot +++ b/arch/arm/mach-s5p6440/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5p6442/Makefile.boot b/arch/arm/mach-s5p6442/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5p6442/Makefile.boot +++ b/arch/arm/mach-s5p6442/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pc100/Makefile.boot b/arch/arm/mach-s5pc100/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5pc100/Makefile.boot +++ b/arch/arm/mach-s5pc100/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pv210/Makefile.boot b/arch/arm/mach-s5pv210/Makefile.boot index ff90aa1..9a79532 100644 --- a/arch/arm/mach-s5pv210/Makefile.boot +++ b/arch/arm/mach-s5pv210/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x20008000 params_phys-y := 0x20000100 diff --git a/arch/arm/mach-s5pv310/Makefile.boot b/arch/arm/mach-s5pv310/Makefile.boot index d65956f..85644bc 100644 --- a/arch/arm/mach-s5pv310/Makefile.boot +++ b/arch/arm/mach-s5pv310/Makefile.boot @@ -1,2 +1 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 diff --git a/arch/arm/mach-sa1100/Makefile.boot b/arch/arm/mach-sa1100/Makefile.boot index a56ad04..2690ce5 100644 --- a/arch/arm/mach-sa1100/Makefile.boot +++ b/arch/arm/mach-sa1100/Makefile.boot @@ -1,7 +1,2 @@ - zreladdr-y := 0xc0008000 -ifeq ($(CONFIG_ARCH_SA1100),y) - zreladdr-$(CONFIG_SA1111) := 0xc0208000 -endif params_phys-y := 0xc0000100 initrd_phys-y := 0xc0800000 - diff --git a/arch/arm/mach-shark/Makefile.boot b/arch/arm/mach-shark/Makefile.boot deleted file mode 100644 index 4320f8b..0000000 --- a/arch/arm/mach-shark/Makefile.boot +++ /dev/null @@ -1,2 +0,0 @@ - zreladdr-y := 0x08008000 - diff --git a/arch/arm/mach-spear3xx/Makefile.boot b/arch/arm/mach-spear3xx/Makefile.boot index 7a1f3c0..80f4945 100644 --- a/arch/arm/mach-spear3xx/Makefile.boot +++ b/arch/arm/mach-spear3xx/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-spear6xx/Makefile.boot b/arch/arm/mach-spear6xx/Makefile.boot index 7a1f3c0..80f4945 100644 --- a/arch/arm/mach-spear6xx/Makefile.boot +++ b/arch/arm/mach-spear6xx/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-stmp378x/Makefile.boot b/arch/arm/mach-stmp378x/Makefile.boot index 1568ad4..71e6728 100644 --- a/arch/arm/mach-stmp378x/Makefile.boot +++ b/arch/arm/mach-stmp378x/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 initrd_phys-y := 0x40800000 diff --git a/arch/arm/mach-stmp37xx/Makefile.boot b/arch/arm/mach-stmp37xx/Makefile.boot index 1568ad4..71e6728 100644 --- a/arch/arm/mach-stmp37xx/Makefile.boot +++ b/arch/arm/mach-stmp37xx/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x40008000 params_phys-y := 0x40000100 initrd_phys-y := 0x40800000 diff --git a/arch/arm/mach-u300/Makefile.boot b/arch/arm/mach-u300/Makefile.boot index 6fbfc6e..9f7ca02 100644 --- a/arch/arm/mach-u300/Makefile.boot +++ b/arch/arm/mach-u300/Makefile.boot @@ -4,10 +4,8 @@ # INITRD_PHYS must be in RAM ifdef CONFIG_MACH_U300_SINGLE_RAM - zreladdr-y := 0x28E08000 params_phys-y := 0x28E00100 else - zreladdr-y := 0x48008000 params_phys-y := 0x48000100 endif diff --git a/arch/arm/mach-ux500/Makefile.boot b/arch/arm/mach-ux500/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-ux500/Makefile.boot +++ b/arch/arm/mach-ux500/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot index c7e75ac..ee22553 100644 --- a/arch/arm/mach-versatile/Makefile.boot +++ b/arch/arm/mach-versatile/Makefile.boot @@ -1,4 +1,3 @@ - zreladdr-y := 0x00008000 params_phys-y := 0x00000100 initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot index 07c2d9c..9acbba0 100644 --- a/arch/arm/mach-vexpress/Makefile.boot +++ b/arch/arm/mach-vexpress/Makefile.boot @@ -1,3 +1,2 @@ - zreladdr-y := 0x60008000 params_phys-y := 0x60000100 initrd_phys-y := 0x60800000 diff --git a/arch/arm/mach-w90x900/Makefile.boot b/arch/arm/mach-w90x900/Makefile.boot index a057b54..1bca921 100644 --- a/arch/arm/mach-w90x900/Makefile.boot +++ b/arch/arm/mach-w90x900/Makefile.boot @@ -1,3 +1,2 @@ -zreladdr-y := 0x00008000 params_phys-y := 0x00000100 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-03 9:55 ` Uwe Kleine-König ` (6 preceding siblings ...) 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 20:46 ` Uwe Kleine-König 2010-09-05 18:52 ` Uwe Kleine-König 2010-09-08 9:11 ` Russell King - ARM Linux 9 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-03 20:46 UTC (permalink / raw) To: linux-arm-kernel Hello, [Added Ben to Cc:] > On Fri, Sep 03, 2010 at 09:48:06AM +0200, Uwe Kleine-K?nig wrote: > > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > > > > > > And while we're here, why hasn't anyone removed the zreladdr > > > definitions in Makefile.boot yet? Or do we still need them and > > > we now have the same information defined in two different places? > > > > > > This all looks like a half-done job at the moment. Please clean it up. > > The original series removed all the 'Makefile.boot's IIRC. Currently > > the params_phys-y value is needed though. So should I send a patch that > > just removes the zreladdr values? > I looked into that and found some more issues. I hope I catched them > all now. While doing that removing the zreladdr lines was nearly for > free. So I did that, too. I just found another (probably harmless) issue: arch/arm/Kconfig has: ... default 0x30008000 if ARCH_S3C2410 ||\ ARCH_S3C2400 ||\ ARCH_S3C2412 ||\ ARCH_S3C2416 ||\ ARCH_S3C2440 ||\ ARCH_S3C2443 ... ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-03 9:55 ` Uwe Kleine-König ` (7 preceding siblings ...) 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 9 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-09-05 18:52 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Fri, Sep 03, 2010 at 11:55:04AM +0200, Uwe Kleine-K?nig wrote: > On Fri, Sep 03, 2010 at 09:48:06AM +0200, Uwe Kleine-K?nig wrote: > > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > > > > > > And while we're here, why hasn't anyone removed the zreladdr > > > definitions in Makefile.boot yet? Or do we still need them and > > > we now have the same information defined in two different places? > > > > > > This all looks like a half-done job at the moment. Please clean it up. > > The original series removed all the 'Makefile.boot's IIRC. Currently > > the params_phys-y value is needed though. So should I send a patch that > > just removes the zreladdr values? > I looked into that and found some more issues. I hope I catched them > all now. While doing that removing the zreladdr lines was nearly for > free. So I did that, too. I just noticed that you already started working here on your master branch. (Commit cbb288bf874f86 hides ZRELADDR.) In a different thread you said you might revert the commit introducing ZRELADDR. In case you are not satisfied by Eric's and my work on this series let my point out that I sent the a patch identically to cbb288bf874f86 in reply to the mail you link to in cbb288bf874f86's commit message already a month ago. Are you OK with my series? If yes, can you please say so, then I will rebase on top of your current master branch. Thanks Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-05 18:52 ` Uwe Kleine-König @ 2010-09-08 9:14 ` Russell King - ARM Linux 0 siblings, 0 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-08 9:14 UTC (permalink / raw) To: linux-arm-kernel On Sun, Sep 05, 2010 at 08:52:54PM +0200, Uwe Kleine-K?nig wrote: > Hello Russell, > > On Fri, Sep 03, 2010 at 11:55:04AM +0200, Uwe Kleine-K?nig wrote: > > On Fri, Sep 03, 2010 at 09:48:06AM +0200, Uwe Kleine-K?nig wrote: > > > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > > > > > > > > And while we're here, why hasn't anyone removed the zreladdr > > > > definitions in Makefile.boot yet? Or do we still need them and > > > > we now have the same information defined in two different places? > > > > > > > > This all looks like a half-done job at the moment. Please clean it up. > > > The original series removed all the 'Makefile.boot's IIRC. Currently > > > the params_phys-y value is needed though. So should I send a patch that > > > just removes the zreladdr values? > > I looked into that and found some more issues. I hope I catched them > > all now. While doing that removing the zreladdr lines was nearly for > > free. So I did that, too. > I just noticed that you already started working here on your master > branch. (Commit cbb288bf874f86 hides ZRELADDR.) > > In a different thread you said you might revert the commit introducing > ZRELADDR. In case you are not satisfied by Eric's and my work on this > series let my point out that I sent the a patch identically to > cbb288bf874f86 in reply to the mail you link to in cbb288bf874f86's > commit message already a month ago. > > Are you OK with my series? If yes, can you please say so, then I will > rebase on top of your current master branch. See one of my other replies today; I think it'll just be better in the long run to get rid of this CONFIG_ZRELADDR idea. Our original way of doing this was simpler, less error prone, and less conflict prone. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-03 9:55 ` Uwe Kleine-König ` (8 preceding siblings ...) 2010-09-05 18:52 ` Uwe Kleine-König @ 2010-09-08 9:11 ` Russell King - ARM Linux 2010-09-08 20:31 ` Robert Schwebel 9 siblings, 1 reply; 138+ messages in thread From: Russell King - ARM Linux @ 2010-09-08 9:11 UTC (permalink / raw) To: linux-arm-kernel On Fri, Sep 03, 2010 at 11:55:04AM +0200, Uwe Kleine-K?nig wrote: > Hello Russell, > > On Fri, Sep 03, 2010 at 09:48:06AM +0200, Uwe Kleine-K?nig wrote: > > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: > > > > > > And while we're here, why hasn't anyone removed the zreladdr > > > definitions in Makefile.boot yet? Or do we still need them and > > > we now have the same information defined in two different places? > > > > > > This all looks like a half-done job at the moment. Please clean it up. > > The original series removed all the 'Makefile.boot's IIRC. Currently > > the params_phys-y value is needed though. So should I send a patch that > > just removes the zreladdr values? > I looked into that and found some more issues. I hope I catched them > all now. While doing that removing the zreladdr lines was nearly for > free. So I did that, too. > > I couldn't determine who to cc: for the ARCH_H720X patch. Russell, do > you maintain this platform? Nope. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-08 9:11 ` Russell King - ARM Linux @ 2010-09-08 20:31 ` Robert Schwebel 0 siblings, 0 replies; 138+ messages in thread From: Robert Schwebel @ 2010-09-08 20:31 UTC (permalink / raw) To: linux-arm-kernel Uwe, On Wed, Sep 08, 2010 at 10:11:49AM +0100, Russell King - ARM Linux wrote: > > I looked into that and found some more issues. I hope I catched them > > all now. While doing that removing the zreladdr lines was nearly for > > free. So I did that, too. > > > > I couldn't determine who to cc: for the ARCH_H720X patch. Russell, do > > you maintain this platform? > > Nope. Sascha does probably maintain H720x. However, I'm not sure if there is somebody out there who does still use it actively. rsc -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions 2010-09-03 7:48 ` Uwe Kleine-König 2010-09-03 9:55 ` Uwe Kleine-König @ 2010-09-03 13:33 ` Eric Miao 1 sibling, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-09-03 13:33 UTC (permalink / raw) To: linux-arm-kernel 2010/9/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hello, > > On Thu, Sep 02, 2010 at 10:27:23PM +0100, Russell King - ARM Linux wrote: >> On Thu, Sep 02, 2010 at 10:21:45PM +0100, Russell King - ARM Linux wrote: >> > On Thu, Jun 03, 2010 at 03:36:52PM +0800, Eric Miao wrote: >> > > From: Eric Miao <eric.y.miao@gmail.com> >> > > >> > > Original idea and prototype came from Nicolas Pitre. >> > > >> > > As long as the zImage is placed within the 256MB range from the >> > > start of the memory, ZRELADDR (Address where the decompressed >> > > kernel will be placed, usually ?== PHYS_OFFSET + TEXT_OFFSET) >> > > can be determined at run-time by masking PC with 0xf000_0000. >> > > >> > > Running through all the Makefile.boot, all those zreladdr-y >> > > address == 0x[0-f]000_0000 + TEXT_OFFSET can be determined at >> > > run-time. >> > > >> > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, >> > > CONFIG_ZRELADDR _must_ be explicitly specified if: >> > > >> > > ?- ((zreladdr-y - TEXT_OFFSET) & ~0xf0000000) != 0, which means >> > > ? ?a maksing of PC with 0xf000_0000 will result an incorrect >> > > ? ?address. >> > > >> > > ?- or the assumption of the zImage being loaded by the boot >> > > ? ?loader within 256MB from the start address is simply >> > > ? ?incorrect >> > > >> > > ?- or when ZBOOT_ROM is used, where the above assumption is >> > > ? ?normally wrong >> > > >> > > List of all Makefile.boot: >> > >> > Not so. ?What happened to H720x platforms, which are now broken? >> > Any chance of fixing the regression that this introduced? >> > >> > http://armlinux.simtec.co.uk/kautobuild/2.6.36-rc3/h7202_defconfig/zimage.log >> >> And while we're here, why hasn't anyone removed the zreladdr >> definitions in Makefile.boot yet? ?Or do we still need them and >> we now have the same information defined in two different places? >> >> This all looks like a half-done job at the moment. ?Please clean it up. > The original series removed all the 'Makefile.boot's IIRC. ?Currently > the params_phys-y value is needed though. ?So should I send a patch that > just removes the zreladdr values? > That sounds like a plan. And for those platforms which requires only zreladdr-y, the whole Makefile.boot can just be removed. e.g. mach-pxa and mach-mmp. > Eric, what are your plans regarding the runtime-physoffset stuff? ?(I > currently have none.) > > Best regards > Uwe > > -- > Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?| > Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?| > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 5/5] [ARM] Move inclusion of Makefile.boot into arch/arm/boot/bootp 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (3 preceding siblings ...) 2010-06-03 7:36 ` [PATCH 4/5] [ARM] Auto calculate ZRELADDR and provide option for exceptions Eric Miao @ 2010-06-03 7:36 ` Eric Miao 2010-06-10 9:01 ` Uwe Kleine-König 2010-06-03 7:43 ` [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (3 subsequent siblings) 8 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:36 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.y.miao@gmail.com> Since zreladdr-y, params_phys-y and initrd_phys-y are no longer used in arch/arm/boot/compressed, move the inclusion into bootp/. Now unless you are building for an bootpImage, no per machine class Makefile.boot needs to be included. Signed-off-by: Eric Miao <eric.miao@canonical.com> --- arch/arm/boot/Makefile | 21 +-------------------- arch/arm/boot/bootp/Makefile | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 8cc4669..5e1b5f4 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -13,18 +13,6 @@ MKIMAGE := $(srctree)/scripts/mkuboot.sh -ifneq ($(MACHINE),) --include $(srctree)/$(MACHINE)/Makefile.boot -endif - -# Note: the following conditions must always be true: -# PARAMS_PHYS must be within 4MB of ZRELADDR -# INITRD_PHYS must be in RAM -PARAMS_PHYS := $(params_phys-y) -INITRD_PHYS := $(initrd_phys-y) - -export INITRD_PHYS PARAMS_PHYS - targets := Image zImage xipImage bootpImage uImage ifeq ($(CONFIG_XIP_KERNEL),y) @@ -81,7 +69,7 @@ $(obj)/uImage: $(obj)/zImage FORCE $(call if_changed,uimage) @echo ' Image $@ is ready' -$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE +$(obj)/bootp/bootp: $(obj)/zImage FORCE $(Q)$(MAKE) $(build)=$(obj)/bootp $@ @: @@ -89,13 +77,6 @@ $(obj)/bootpImage: $(obj)/bootp/bootp FORCE $(call if_changed,objcopy) @echo ' Kernel: $@ is ready' -PHONY += initrd FORCE -initrd: - @test "$(INITRD_PHYS)" != "" || \ - (echo This machine does not support INITRD; exit -1) - @test "$(INITRD)" != "" || \ - (echo You must specify INITRD; exit -1) - install: $(obj)/Image $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ $(obj)/Image System.map "$(INSTALL_PATH)" diff --git a/arch/arm/boot/bootp/Makefile b/arch/arm/boot/bootp/Makefile index c394e30..4b32d92 100644 --- a/arch/arm/boot/bootp/Makefile +++ b/arch/arm/boot/bootp/Makefile @@ -5,6 +5,16 @@ # architecture-specific flags and dependencies. # +ifneq ($(MACHINE),) +-include $(srctree)/$(MACHINE)/Makefile.boot +endif + +# Note: the following conditions must always be true: +# PARAMS_PHYS must be within 4MB of ZRELADDR +# INITRD_PHYS must be in RAM +PARAMS_PHYS := $(params_phys-y) +INITRD_PHYS := $(initrd_phys-y) + LDFLAGS_bootp :=-p --no-undefined -X \ --defsym initrd_phys=$(INITRD_PHYS) \ --defsym params_phys=$(PARAMS_PHYS) -T @@ -17,11 +27,18 @@ $(obj)/bootp: $(src)/bootp.lds $(addprefix $(obj)/,init.o kernel.o initrd.o) FOR $(call if_changed,ld) @: +PHONY += initrd FORCE +initrd: + @test "$(INITRD_PHYS)" != "" || \ + (echo This machine does not support INITRD; exit -1) + @test "$(INITRD)" != "" || \ + (echo You must specify INITRD; exit -1) + # kernel.o and initrd.o includes a binary image using # .incbin, a dependency which is not tracked automatically $(obj)/kernel.o: arch/arm/boot/zImage FORCE -$(obj)/initrd.o: $(INITRD) FORCE +$(obj)/initrd.o: $(INITRD) initrd FORCE PHONY += $(INITRD) FORCE -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 5/5] [ARM] Move inclusion of Makefile.boot into arch/arm/boot/bootp 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 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 9:01 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 03, 2010 at 03:36:53PM +0800, Eric Miao wrote: > From: Eric Miao <eric.y.miao@gmail.com> > > Since zreladdr-y, params_phys-y and initrd_phys-y are no longer > used in arch/arm/boot/compressed, move the inclusion into bootp/. > > Now unless you are building for an bootpImage, no per machine > class Makefile.boot needs to be included. > > Signed-off-by: Eric Miao <eric.miao@canonical.com> Acked-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > arch/arm/boot/Makefile | 21 +-------------------- > arch/arm/boot/bootp/Makefile | 19 ++++++++++++++++++- > 2 files changed, 19 insertions(+), 21 deletions(-) > > diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile > index 8cc4669..5e1b5f4 100644 > --- a/arch/arm/boot/Makefile > +++ b/arch/arm/boot/Makefile > @@ -13,18 +13,6 @@ > > MKIMAGE := $(srctree)/scripts/mkuboot.sh > > -ifneq ($(MACHINE),) > --include $(srctree)/$(MACHINE)/Makefile.boot > -endif > - > -# Note: the following conditions must always be true: > -# PARAMS_PHYS must be within 4MB of ZRELADDR > -# INITRD_PHYS must be in RAM > -PARAMS_PHYS := $(params_phys-y) > -INITRD_PHYS := $(initrd_phys-y) > - > -export INITRD_PHYS PARAMS_PHYS > - > targets := Image zImage xipImage bootpImage uImage > > ifeq ($(CONFIG_XIP_KERNEL),y) > @@ -81,7 +69,7 @@ $(obj)/uImage: $(obj)/zImage FORCE > $(call if_changed,uimage) > @echo ' Image $@ is ready' > > -$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE > +$(obj)/bootp/bootp: $(obj)/zImage FORCE > $(Q)$(MAKE) $(build)=$(obj)/bootp $@ > @: > > @@ -89,13 +77,6 @@ $(obj)/bootpImage: $(obj)/bootp/bootp FORCE > $(call if_changed,objcopy) > @echo ' Kernel: $@ is ready' > > -PHONY += initrd FORCE > -initrd: > - @test "$(INITRD_PHYS)" != "" || \ > - (echo This machine does not support INITRD; exit -1) > - @test "$(INITRD)" != "" || \ > - (echo You must specify INITRD; exit -1) > - > install: $(obj)/Image > $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ > $(obj)/Image System.map "$(INSTALL_PATH)" > diff --git a/arch/arm/boot/bootp/Makefile b/arch/arm/boot/bootp/Makefile > index c394e30..4b32d92 100644 > --- a/arch/arm/boot/bootp/Makefile > +++ b/arch/arm/boot/bootp/Makefile > @@ -5,6 +5,16 @@ > # architecture-specific flags and dependencies. > # > > +ifneq ($(MACHINE),) > +-include $(srctree)/$(MACHINE)/Makefile.boot > +endif > + > +# Note: the following conditions must always be true: > +# PARAMS_PHYS must be within 4MB of ZRELADDR > +# INITRD_PHYS must be in RAM > +PARAMS_PHYS := $(params_phys-y) > +INITRD_PHYS := $(initrd_phys-y) > + > LDFLAGS_bootp :=-p --no-undefined -X \ > --defsym initrd_phys=$(INITRD_PHYS) \ > --defsym params_phys=$(PARAMS_PHYS) -T > @@ -17,11 +27,18 @@ $(obj)/bootp: $(src)/bootp.lds $(addprefix $(obj)/,init.o kernel.o initrd.o) FOR > $(call if_changed,ld) > @: > > +PHONY += initrd FORCE > +initrd: > + @test "$(INITRD_PHYS)" != "" || \ > + (echo This machine does not support INITRD; exit -1) > + @test "$(INITRD)" != "" || \ > + (echo You must specify INITRD; exit -1) > + > # kernel.o and initrd.o includes a binary image using > # .incbin, a dependency which is not tracked automatically > > $(obj)/kernel.o: arch/arm/boot/zImage FORCE > > -$(obj)/initrd.o: $(INITRD) FORCE > +$(obj)/initrd.o: $(INITRD) initrd FORCE > > PHONY += $(INITRD) FORCE > -- > 1.7.0.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (4 preceding siblings ...) 2010-06-03 7:36 ` [PATCH 5/5] [ARM] Move inclusion of Makefile.boot into arch/arm/boot/bootp Eric Miao @ 2010-06-03 7:43 ` Eric Miao 2010-06-03 8:00 ` Uwe Kleine-König 2010-06-03 7:57 ` Uwe Kleine-König ` (2 subsequent siblings) 8 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-03 7:43 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 3, 2010 at 3:36 PM, Eric Miao <eric.miao@canonical.com> wrote: > Several facts: > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > ? 0xf000_0000 if the zImage is placed within the first 256MiB from > ? the memory start, which is a sane assumption except for: > > ? - when ARCH_MX1 or ARCH_SHARK is defined > ? - when ARCH_U300 is defined (U300 really is strange when defining > ? ? PHYS_OFFSET and ZRELADDR) > ? - or when ZBOOT_ROM is defined > And maybe we could restrict the assumption to 128MB, so that MX1 and SHARK can be included as well. > 2. For the exceptions above or those situations where ZRELADDR still > ? needs to be specified, an option CONFIG_ZRELADDR is provided. So > ? if there is conflict when mutliple machines are selected (in the > ? near future), things can be manually fixed by menuconfig, instead > ? of playing tricks with Makefile. > > 3. INITRD_PHYS and PARAMS_PHYS are really used only for bootpImage, > ? and references in arch/arm/boot/compressed can be safely removed > > I've listed most of the zreladdr-y found in each Makefile.boot and > made them default value in CONFIG_ZRELADDR, but still there could be > mistakes. Please kindly try and report back, thanks. > > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 0 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-03 8:00 UTC (permalink / raw) To: linux-arm-kernel Hi Eric, On Thu, Jun 03, 2010 at 03:43:30PM +0800, Eric Miao wrote: > On Thu, Jun 3, 2010 at 3:36 PM, Eric Miao <eric.miao@canonical.com> wrote: > > Several facts: > > > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > > ? 0xf000_0000 if the zImage is placed within the first 256MiB from > > ? the memory start, which is a sane assumption except for: > > > > ? - when ARCH_MX1 or ARCH_SHARK is defined > > ? - when ARCH_U300 is defined (U300 really is strange when defining > > ? ? PHYS_OFFSET and ZRELADDR) > > ? - or when ZBOOT_ROM is defined > > > > And maybe we could restrict the assumption to 128MB, so that MX1 > and SHARK can be included as well. I used 128 MiB, too. When I did it I found "problems" for s3c2400 and at91. For the latter physoffset depended on .config. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-03 8:00 ` Uwe Kleine-König @ 2010-06-03 8:27 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-03 8:27 UTC (permalink / raw) To: linux-arm-kernel 2010/6/3 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hi Eric, > > On Thu, Jun 03, 2010 at 03:43:30PM +0800, Eric Miao wrote: >> On Thu, Jun 3, 2010 at 3:36 PM, Eric Miao <eric.miao@canonical.com> wrote: >> > Several facts: >> > >> > 1. ZRELADDR in most cases can be auto detected by maksing PC with >> > ? 0xf000_0000 if the zImage is placed within the first 256MiB from >> > ? the memory start, which is a sane assumption except for: >> > >> > ? - when ARCH_MX1 or ARCH_SHARK is defined >> > ? - when ARCH_U300 is defined (U300 really is strange when defining >> > ? ? PHYS_OFFSET and ZRELADDR) >> > ? - or when ZBOOT_ROM is defined >> > >> >> And maybe we could restrict the assumption to 128MB, so that MX1 >> and SHARK can be included as well. > I used 128 MiB, too. ?When I did it I found "problems" for s3c2400 and > at91. ?For the latter physoffset depended on .config. > Yeah, there are some platforms really makes me scratching my head. For the problem of PHYS_OFFSET actually, not necessarily ZRELADDR. (I've again reviewed your previous patches, and think maybe we can possibly work together to bring them to the list again) 1. S3C2400 PHYS_OFFSET == 0x0c00_0000 which is on a 64MB boundary. I guess we can simply drop support for such platforms. Restricting the assumption to even smaller is not fair for most other platforms. 2. AT91 is actually much better. 3. The most weird platform must be U300, that PHYS_OFFSET is really something variable. Depending on a somewhat access processor (I guess it's a communication processor/MODEM). While for U300, I guess a proper way for it to do is to declare a high enough TEXT_OFFSET and use .fixup to reserve a range of memory for the access processor if possible. Yet we don't have to support those platforms. The complex of the problem is really: how to support as many platforms as possible yet still leave a smooth migration path, and a fall-back way for those silicon simply just cannot do auto detection at run-time, and the different boot method: ZROM/XIP (and possibly bootp) ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (5 preceding siblings ...) 2010-06-03 7:43 ` [PATCH 0/5] Makefile.boot cleanup Eric Miao @ 2010-06-03 7:57 ` Uwe Kleine-König 2010-06-10 18:44 ` Nicolas Pitre 2010-06-17 19:22 ` Nicolas Pitre 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König 8 siblings, 2 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-03 7:57 UTC (permalink / raw) To: linux-arm-kernel Hello Eric, On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: > Several facts: > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > 0xf000_0000 if the zImage is placed within the first 256MiB from > the memory start, which is a sane assumption except for: > > - when ARCH_MX1 or ARCH_SHARK is defined > - when ARCH_U300 is defined (U300 really is strange when defining > PHYS_OFFSET and ZRELADDR) > - or when ZBOOT_ROM is defined If you guess ZRELADDR based on sp instead of pc it even should work if ZBOOT_ROM is defined?! That's how I did it in http://git.pengutronix.de/?p=ukl/linux-2.6.git;a=commit;h=booting/pu Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 1 sibling, 1 reply; 138+ messages in thread From: Nicolas Pitre @ 2010-06-10 18:44 UTC (permalink / raw) To: linux-arm-kernel On Thu, 3 Jun 2010, Uwe Kleine-K?nig wrote: > Hello Eric, > > On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: > > Several facts: > > > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > > 0xf000_0000 if the zImage is placed within the first 256MiB from > > the memory start, which is a sane assumption except for: > > > > - when ARCH_MX1 or ARCH_SHARK is defined > > - when ARCH_U300 is defined (U300 really is strange when defining > > PHYS_OFFSET and ZRELADDR) > > - or when ZBOOT_ROM is defined > If you guess ZRELADDR based on sp instead of pc it even should work if > ZBOOT_ROM is defined?! If you're using ZBOOT_ROM that means you want to execute zImage directly from ROM. This is therefore a highly customized configuration. In that context, having a variable phys-offset doesn't make much sense to start with. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-10 18:44 ` Nicolas Pitre @ 2010-06-11 4:55 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-11 4:55 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 10, 2010 at 02:44:53PM -0400, Nicolas Pitre wrote: > On Thu, 3 Jun 2010, Uwe Kleine-K?nig wrote: > > > Hello Eric, > > > > On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: > > > Several facts: > > > > > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > > > 0xf000_0000 if the zImage is placed within the first 256MiB from > > > the memory start, which is a sane assumption except for: > > > > > > - when ARCH_MX1 or ARCH_SHARK is defined > > > - when ARCH_U300 is defined (U300 really is strange when defining > > > PHYS_OFFSET and ZRELADDR) > > > - or when ZBOOT_ROM is defined > > If you guess ZRELADDR based on sp instead of pc it even should work if > > ZBOOT_ROM is defined?! > > If you're using ZBOOT_ROM that means you want to execute zImage directly > from ROM. This is therefore a highly customized configuration. In that > context, having a variable phys-offset doesn't make much sense to start > with. Right, but then the kernel needs to know this fixed value for phys-offset. In the patches presented by Eric the person configuring the kernel needs to know that value. When guessing based on sp she doesn't need to read addional docs when enabling ZBOOT_ROM. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-03 7:57 ` Uwe Kleine-König 2010-06-10 18:44 ` Nicolas Pitre @ 2010-06-17 19:22 ` Nicolas Pitre 2010-06-18 1:31 ` Eric Miao 2010-06-18 2:30 ` Eric Miao 1 sibling, 2 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-06-17 19:22 UTC (permalink / raw) To: linux-arm-kernel On Thu, 3 Jun 2010, Uwe Kleine-K?nig wrote: > Hello Eric, > > On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: > > Several facts: > > > > 1. ZRELADDR in most cases can be auto detected by maksing PC with > > 0xf000_0000 if the zImage is placed within the first 256MiB from > > the memory start, which is a sane assumption except for: > > > > - when ARCH_MX1 or ARCH_SHARK is defined > > - when ARCH_U300 is defined (U300 really is strange when defining > > PHYS_OFFSET and ZRELADDR) > > - or when ZBOOT_ROM is defined > If you guess ZRELADDR based on sp instead of pc it even should work if > ZBOOT_ROM is defined?! What is the relation between sp and ZRELADDR? While we're pushing forward the notion of a relation between phys offset and the location where zImage is loaded in memory, I think that making the association with sp is a bit too obscur. Knowing where you upload your kernel is clear, knowing where the stack is allocated in relation to that is not that clear. It is in the .bss section of course, but when ZBOOT_ROM is not defined then the .bss happens to be right after the zImage binary, while it must be explicitly specified otherwise. On Sun, 6 Jun 2010, Uwe Kleine-K?nig wrote: > On Thu, Jun 10, 2010 at 02:44:53PM -0400, Nicolas Pitre wrote: > > If you're using ZBOOT_ROM that means you want to execute zImage directly > > from ROM. This is therefore a highly customized configuration. In that > > context, having a variable phys-offset doesn't make much sense to start > > with. > Right, but then the kernel needs to know this fixed value for > phys-offset. In the patches presented by Eric the person configuring > the kernel needs to know that value. When guessing based on sp she > doesn't need to read addional docs when enabling ZBOOT_ROM. That's presuming phys offset would still be runtime determined. Again, if you care about ZBOOT_ROM, you probably want a fixed phys offset at compile time too. So that value has to be determined at kernel config time, not at run time from pc or sp. And when dealing with such customized expert config options, she better know what she's doing and be familiar with the memory layout so not to have to read the datasheet only for the physical RAM offset while she already must know what flash offset to use. If anything, you _could_ try doing something similar to: config PHYS_OFFSET [prompt] default (CONFIG_ZBOOT_ROM_BSS & 0xf0000000) if ZBOOT_ROM but I doubt Kconfig might accept such a syntax. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-17 19:22 ` Nicolas Pitre @ 2010-06-18 1:31 ` Eric Miao 2010-06-18 2:30 ` Eric Miao 1 sibling, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-18 1:31 UTC (permalink / raw) To: linux-arm-kernel 2010/6/18 Nicolas Pitre <nico@fluxnic.net>: > On Thu, 3 Jun 2010, Uwe Kleine-K?nig wrote: > >> Hello Eric, >> >> On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: >> > Several facts: >> > >> > 1. ZRELADDR in most cases can be auto detected by maksing PC with >> > ? ?0xf000_0000 if the zImage is placed within the first 256MiB from >> > ? ?the memory start, which is a sane assumption except for: >> > >> > ? ?- when ARCH_MX1 or ARCH_SHARK is defined >> > ? ?- when ARCH_U300 is defined (U300 really is strange when defining >> > ? ? ?PHYS_OFFSET and ZRELADDR) >> > ? ?- or when ZBOOT_ROM is defined >> If you guess ZRELADDR based on sp instead of pc it even should work if >> ZBOOT_ROM is defined?! > > What is the relation between sp and ZRELADDR? > > While we're pushing forward the notion of a relation between phys offset > and the location where zImage is loaded in memory, I think that making > the association with sp is a bit too obscur. ?Knowing where you upload > your kernel is clear, knowing where the stack is allocated in relation > to that is not that clear. ?It is in the .bss section of course, but > when ZBOOT_ROM is not defined then the .bss happens to be right after > the zImage binary, while it must be explicitly specified otherwise. > > On Sun, 6 Jun 2010, Uwe Kleine-K?nig wrote: > >> On Thu, Jun 10, 2010 at 02:44:53PM -0400, Nicolas Pitre wrote: >> > If you're using ZBOOT_ROM that means you want to execute zImage directly >> > from ROM. ?This is therefore a highly customized configuration. ?In that >> > context, having a variable phys-offset doesn't make much sense to start >> > with. >> Right, but then the kernel needs to know this fixed value for >> phys-offset. ?In the patches presented by Eric the person configuring >> the kernel needs to know that value. ?When guessing based on sp she >> doesn't need to read addional docs when enabling ZBOOT_ROM. > > That's presuming phys offset would still be runtime determined. ?Again, > if you care about ZBOOT_ROM, you probably want a fixed phys offset at > compile time too. ?So that value has to be determined at kernel config > time, not at run time from pc or sp. ?And when dealing with such > customized expert config options, she better know what she's doing and > be familiar with the memory layout so not to have to read the datasheet > only for the physical RAM offset while she already must know what flash > offset to use. > > If anything, you _could_ try doing something similar to: > > config PHYS_OFFSET > ? ? ? ?[prompt] > ? ? ? ?default (CONFIG_ZBOOT_ROM_BSS & 0xf0000000) if ZBOOT_ROM > > but I doubt Kconfig might accept such a syntax. > No, Kconfig doesn't. I tried to play this a bit with Kconfig, but failed. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-17 19:22 ` Nicolas Pitre 2010-06-18 1:31 ` Eric Miao @ 2010-06-18 2:30 ` Eric Miao 1 sibling, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-18 2:30 UTC (permalink / raw) To: linux-arm-kernel 2010/6/18 Nicolas Pitre <nico@fluxnic.net>: > On Thu, 3 Jun 2010, Uwe Kleine-K?nig wrote: > >> Hello Eric, >> >> On Thu, Jun 03, 2010 at 03:36:48PM +0800, Eric Miao wrote: >> > Several facts: >> > >> > 1. ZRELADDR in most cases can be auto detected by maksing PC with >> > ? ?0xf000_0000 if the zImage is placed within the first 256MiB from >> > ? ?the memory start, which is a sane assumption except for: >> > >> > ? ?- when ARCH_MX1 or ARCH_SHARK is defined >> > ? ?- when ARCH_U300 is defined (U300 really is strange when defining >> > ? ? ?PHYS_OFFSET and ZRELADDR) >> > ? ?- or when ZBOOT_ROM is defined >> If you guess ZRELADDR based on sp instead of pc it even should work if >> ZBOOT_ROM is defined?! > > What is the relation between sp and ZRELADDR? > > While we're pushing forward the notion of a relation between phys offset > and the location where zImage is loaded in memory, I think that making > the association with sp is a bit too obscur. ?Knowing where you upload > your kernel is clear, knowing where the stack is allocated in relation > to that is not that clear. ?It is in the .bss section of course, but > when ZBOOT_ROM is not defined then the .bss happens to be right after > the zImage binary, while it must be explicitly specified otherwise. > I agree with Nico. Associating PHYS_OFFSET with pc is more straight-forward, and I think it will save us some effort just not to support a runtime phys_offset with ZBOOT enabled. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/10] cleanup in early boot code 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (6 preceding siblings ...) 2010-06-03 7:57 ` Uwe Kleine-König @ 2010-06-10 10:24 ` 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 ` (10 more replies) 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König 8 siblings, 11 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:24 UTC (permalink / raw) To: linux-arm-kernel Hello, a while ago I sent a few patches that clean up in this area, too, some of them are orthogonal to Eric's. I resend them in reply to this mail. Eric, maybe we can start merging your and my work, at least the bits that doesn't need further discussion between us? (i.e. the patches I acked and hopefully the first few of mine) Do you irc? I'm (e.g.) in #armlinux on freenode. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 01/10] arm/zImage: don't hard code the stack size twice 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König @ 2010-06-10 10:27 ` Uwe Kleine-König 2010-06-10 10:31 ` Eric Miao 2010-06-10 10:27 ` [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on Uwe Kleine-König ` (9 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index c5191b1..390aa92 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -315,7 +315,7 @@ LC0: .word LC0 @ r1 .word _image_size @ r6 .word _got_start @ r11 .word _got_end @ ip - .word user_stack+4096 @ sp + .word user_stack_end @ sp LC1: .word reloc_end - reloc_start .size LC0, . - LC0 @@ -1070,3 +1070,4 @@ reloc_end: .align .section ".stack", "w" user_stack: .space 4096 +user_stack_end: -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 01/10] arm/zImage: don't hard code the stack size twice 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-10 10:31 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/boot/compressed/head.S | ? ?3 ++- > ?1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index c5191b1..390aa92 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -315,7 +315,7 @@ LC0: ? ? ? ? ? ? ? ?.word ? LC0 ? ? ? ? ? ? ? ? ? ? @ r1 > ? ? ? ? ? ? ? ?.word ? _image_size ? ? ? ? ? ? @ r6 > ? ? ? ? ? ? ? ?.word ? _got_start ? ? ? ? ? ? ?@ r11 > ? ? ? ? ? ? ? ?.word ? _got_end ? ? ? ? ? ? ? ?@ ip > - ? ? ? ? ? ? ? .word ? user_stack+4096 ? ? ? ? @ sp > + ? ? ? ? ? ? ? .word ? user_stack_end ? ? ? ? ?@ sp > ?LC1: ? ? ? ? ? .word ? reloc_end - reloc_start > ? ? ? ? ? ? ? ?.size ? LC0, . - LC0 > > @@ -1070,3 +1070,4 @@ reloc_end: > ? ? ? ? ? ? ? ?.align > ? ? ? ? ? ? ? ?.section ".stack", "w" > ?user_stack: ? ?.space ?4096 > +user_stack_end: This one looks OK to me. Acked-by: Eric Miao <eric.miao@canonical.com> ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 01/10] arm/zImage: don't hard code the stack size twice 2010-06-10 10:31 ` Eric Miao @ 2010-06-10 18:47 ` Nicolas Pitre 0 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-06-10 18:47 UTC (permalink / raw) To: linux-arm-kernel On Thu, 10 Jun 2010, Eric Miao wrote: > 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > --- > > ?arch/arm/boot/compressed/head.S | ? ?3 ++- > > ?1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > > index c5191b1..390aa92 100644 > > --- a/arch/arm/boot/compressed/head.S > > +++ b/arch/arm/boot/compressed/head.S > > @@ -315,7 +315,7 @@ LC0: ? ? ? ? ? ? ? ?.word ? LC0 ? ? ? ? ? ? ? ? ? ? @ r1 > > ? ? ? ? ? ? ? ?.word ? _image_size ? ? ? ? ? ? @ r6 > > ? ? ? ? ? ? ? ?.word ? _got_start ? ? ? ? ? ? ?@ r11 > > ? ? ? ? ? ? ? ?.word ? _got_end ? ? ? ? ? ? ? ?@ ip > > - ? ? ? ? ? ? ? .word ? user_stack+4096 ? ? ? ? @ sp > > + ? ? ? ? ? ? ? .word ? user_stack_end ? ? ? ? ?@ sp > > ?LC1: ? ? ? ? ? .word ? reloc_end - reloc_start > > ? ? ? ? ? ? ? ?.size ? LC0, . - LC0 > > > > @@ -1070,3 +1070,4 @@ reloc_end: > > ? ? ? ? ? ? ? ?.align > > ? ? ? ? ? ? ? ?.section ".stack", "w" > > ?user_stack: ? ?.space ?4096 > > +user_stack_end: > > This one looks OK to me. > > Acked-by: Eric Miao <eric.miao@canonical.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on 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:27 ` Uwe Kleine-König 2010-06-10 21:36 ` Sergei Shtylyov 2010-06-16 3:16 ` Eric Miao 2010-06-10 10:27 ` [PATCH 03/10] arm/zImage: __armv3_mpu_cache_flush: respect should-be-zero specification Uwe Kleine-König ` (8 subsequent siblings) 10 siblings, 2 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel __armv3_mpu_cache_on seems broken. As there is noone around who knows about these machines just keep the code as is but point out the strange things. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 390aa92..384150b 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -396,12 +396,15 @@ __armv3_mpu_cache_on: mov r0, #0 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 + /* ?? ARMv3 MMU doesn not allow reading the control register, does this really work on ARMv3 MPU? */ mrc p15, 0, r0, c1, c0, 0 @ read control reg @ .... .... .... WC.M orr r0, r0, #0x000d @ .... .... .... 11.1 + /* ?? this overwrites the value constructed above? */ mov r0, #0 mcr p15, 0, r0, c1, c0, 0 @ write control reg + /* ?? invalidate for the second time? */ mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 mov pc, lr -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on 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 1 sibling, 0 replies; 138+ messages in thread From: Sergei Shtylyov @ 2010-06-10 21:36 UTC (permalink / raw) To: linux-arm-kernel Hello. Uwe Kleine-K?nig wrote: > __armv3_mpu_cache_on seems broken. As there is noone around who knows > about these machines just keep the code as is but point out the strange > things. > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > arch/arm/boot/compressed/head.S | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index 390aa92..384150b 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -396,12 +396,15 @@ __armv3_mpu_cache_on: > > mov r0, #0 > mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 > + /* ?? ARMv3 MMU doesn not allow reading the control register, does this really work on ARMv3 MPU? */ Only "does not". WBR, Sergei ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on 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 1 sibling, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-16 3:16 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > __armv3_mpu_cache_on seems broken. ?As there is noone around who knows > about these machines just keep the code as is but point out the strange > things. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/boot/compressed/head.S | ? ?3 +++ > ?1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index 390aa92..384150b 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -396,12 +396,15 @@ __armv3_mpu_cache_on: > > ? ? ? ? ? ? ? ?mov ? ? r0, #0 > ? ? ? ? ? ? ? ?mcr ? ? p15, 0, r0, c7, c0, 0 ? @ invalidate whole cache v3 > + ? ? ? ? ? ? ? /* ?? ARMv3 MMU doesn not allow reading the control register, does this really work on ARMv3 MPU? */ >From bogus@does.not.exist.com Sun Jun 6 12:36:48 2010 From: bogus@does.not.exist.com () Date: Sun, 06 Jun 2010 16:36:48 -0000 Subject: No subject Message-ID: <mailman.1.1276658227.27306.linux-arm-kernel@lists.infradead.org> http://en.wikipedia.org/wiki/ARM_architecture ARM740T is actually V4T, and reading of control register should be OK. Although I guess due to historic reason, it's using armv3_* prefix for the functions? > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mrc =C2=A0 =C2=A0 = p15, 0, r0, c1, c0, 0 =C2=A0 @ read control reg > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0@ .... .... .... WC.M > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0orr =C2=A0 =C2=A0 = r0, r0, #0x000d =C2=A0 =C2=A0 =C2=A0 =C2=A0 @ .... .... .... 11.1 > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* ?? this overwrites = the value constructed above? */ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mov =C2=A0 =C2=A0 = r0, #0 This does seem to be an error. > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mcr =C2=A0 =C2=A0 = p15, 0, r0, c1, c0, 0 =C2=A0 @ write control reg > > + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* ?? invalidate for t= he second time? */ > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mcr =C2=A0 =C2=A0 = p15, 0, r0, c7, c0, 0 =C2=A0 @ invalidate whole cache v3 > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mov =C2=A0 =C2=A0 = pc, lr > > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on 2010-06-16 3:16 ` Eric Miao @ 2010-06-16 9:19 ` Russell King - ARM Linux 0 siblings, 0 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-06-16 9:19 UTC (permalink / raw) To: linux-arm-kernel On Wed, Jun 16, 2010 at 11:16:43AM +0800, Eric Miao wrote: > > ? ? ? ? ? ? ? ?mrc ? ? p15, 0, r0, c1, c0, 0 ? @ read control reg > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@ .... .... .... WC.M > > ? ? ? ? ? ? ? ?orr ? ? r0, r0, #0x000d ? ? ? ? @ .... .... .... 11.1 > > + ? ? ? ? ? ? ? /* ?? this overwrites the value constructed above? */ > > ? ? ? ? ? ? ? ?mov ? ? r0, #0 > > This does seem to be an error. If we can't test the removal of that line, we have to assume that the existing code was tested, and did work. (It certainly will work, but slower because the caches would not be on.) We don't know if removing this line would cause problems. I think it's better just to add a comment about it, and leave the code as-is. However, if someone has an ARM740T system and can test the removal of this, then we can remove it. I suspect that ARM740T systems are rarely worked on now though - esp. as the whole nommu stuff doesn't seem to get much attention. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 03/10] arm/zImage: __armv3_mpu_cache_flush: respect should-be-zero specification 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:27 ` [PATCH 02/10] arm/zImage: some comments for __armv3_mpu_cache_on Uwe Kleine-König @ 2010-06-10 10:27 ` 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 ` (7 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel Probably the register content for cache operations is "don't care" in practice, but as r1 is explicitly zeroed, use that one. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 384150b..4058294 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -991,7 +991,7 @@ no_cache_id: __armv3_mmu_cache_flush: __armv3_mpu_cache_flush: mov r1, #0 - mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 + mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3 mov pc, lr /* -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 03/10] arm/zImage: __armv3_mpu_cache_flush: respect should-be-zero specification 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-11 1:23 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Probably the register content for cache operations is "don't care" in > practice, but as r1 is explicitly zeroed, use that one. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/boot/compressed/head.S | ? ?2 +- > ?1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index 384150b..4058294 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -991,7 +991,7 @@ no_cache_id: > ?__armv3_mmu_cache_flush: > ?__armv3_mpu_cache_flush: > ? ? ? ? ? ? ? ?mov ? ? r1, #0 > - ? ? ? ? ? ? ? mcr ? ? p15, 0, r0, c7, c0, 0 ? @ invalidate whole cache v3 > + ? ? ? ? ? ? ? mcr ? ? p15, 0, r1, c7, c0, 0 ? @ invalidate whole cache v3 > ? ? ? ? ? ? ? ?mov ? ? pc, lr And this is at least more consistent with arch/arm/mm/cache-v3.S, so Acked-by: Eric Miao <eric.miao@canonical.com> ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 04/10] arm/zImage: fix comments for cache_on, cache_off and cache_clean_flush 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (2 preceding siblings ...) 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-10 10:27 ` 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 ` (6 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel This adds missing registers to the list of corrupted registers and removes a wrong comment about r9 on entry While at it the formatting of the comment to cache_off is changed to resemble the other two. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 4058294..f8a210b 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -339,9 +339,8 @@ params: ldr r0, =params_phys * r4 = kernel execution address * r7 = architecture number * r8 = atags pointer - * r9 = run-time address of "start" (???) * On exit, - * r1, r2, r3, r9, r10, r12 corrupted + * r0, r1, r2, r3, r9, r10, r12 corrupted * This routine must preserve: * r4, r5, r6, r7, r8 */ @@ -774,8 +773,10 @@ proc_types: * Turn off the Cache and MMU. ARMv3 does not support * reading the control register, but ARMv4 does. * - * On exit, r0, r1, r2, r3, r9, r12 corrupted - * This routine must preserve: r4, r6, r7 + * On exit, + * r0, r1, r2, r3, r9, r12 corrupted + * This routine must preserve: + * r4, r6, r7 */ .align 5 cache_off: mov r3, #12 @ cache_off function @@ -848,7 +849,7 @@ __armv3_mmu_cache_off: * Clean and flush the cache to maintain consistency. * * On exit, - * r1, r2, r3, r9, r11, r12 corrupted + * r1, r2, r3, r9, r10, r11, r12 corrupted * This routine must preserve: * r0, r4, r5, r6, r7 */ -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 04/10] arm/zImage: fix comments for cache_on, cache_off and cache_clean_flush 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-17 9:28 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > This adds missing registers to the list of corrupted registers and > removes a wrong comment about r9 on entry > > While at it the formatting of the comment to cache_off is changed to > resemble the other two. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > --- > ?arch/arm/boot/compressed/head.S | ? 11 ++++++----- > ?1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index 4058294..f8a210b 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -339,9 +339,8 @@ params: ? ? ? ? ? ? ldr ? ? r0, =params_phys > ?* ?r4 = kernel execution address > ?* ?r7 = architecture number > ?* ?r8 = atags pointer > - * ?r9 = run-time address of "start" ?(???) OK. r9 is actually loaded with CPUID at the very first of call_cache_fn, so I seriously doubt its usage on entrance. > ?* On exit, > - * ?r1, r2, r3, r9, r10, r12 corrupted > + * ?r0, r1, r2, r3, r9, r10, r12 corrupted OK. > ?* This routine must preserve: > ?* ?r4, r5, r6, r7, r8 > ?*/ > @@ -774,8 +773,10 @@ proc_types: > ?* Turn off the Cache and MMU. ?ARMv3 does not support > ?* reading the control register, but ARMv4 does. > ?* > - * On exit, r0, r1, r2, r3, r9, r12 corrupted > - * This routine must preserve: r4, r6, r7 > + * On exit, > + * ?r0, r1, r2, r3, r9, r12 corrupted > + * This routine must preserve: > + * ?r4, r6, r7 OK, as talked, this looks to align with other comments in this file. > ?*/ > ? ? ? ? ? ? ? ?.align ?5 > ?cache_off: ? ? mov ? ? r3, #12 ? ? ? ? ? ? ? ? @ cache_off function > @@ -848,7 +849,7 @@ __armv3_mmu_cache_off: > ?* Clean and flush the cache to maintain consistency. > ?* > ?* On exit, > - * ?r1, r2, r3, r9, r11, r12 corrupted > + * ?r1, r2, r3, r9, r10, r11, r12 corrupted OK, took another look and r10 is corrupted in __armv7_mmu_cache_flush, where it's used to hold the ID_MMFR1. > ?* This routine must preserve: > ?* ?r0, r4, r5, r6, r7 > ?*/ So, Acked-by: Eric Miao <eric.miao@canonical.com> ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 05/10] arm/zImage: annotate debug functions about corrupted registers 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (3 preceding siblings ...) 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-10 10:27 ` Uwe Kleine-König 2010-06-17 9:37 ` Eric Miao 2010-06-10 10:27 ` [PATCH 06/10] arm: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König ` (5 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index f8a210b..dbeeb56 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -1005,6 +1005,7 @@ __armv3_mpu_cache_flush: phexbuf: .space 12 .size phexbuf, . - phexbuf +@ phex corrupts {r0, r1, r2, r3} phex: adr r3, phexbuf mov r2, #0 strb r2, [r3, r1] @@ -1019,6 +1020,7 @@ phex: adr r3, phexbuf strb r2, [r3, r1] b 1b +@ puts corrupts {r0, r1, r2, r3} puts: loadsp r3, r1 1: ldrb r2, [r0], #1 teq r2, #0 @@ -1033,12 +1035,14 @@ puts: loadsp r3, r1 teq r0, #0 bne 1b mov pc, lr +@ putc corrupts {r0, r1, r2, r3} putc: mov r2, r0 mov r0, #0 loadsp r3, r1 b 2b +@ memdump corrupts {r0, r1, r2, r3, r10, r11, r12, lr} memdump: mov r12, r0 mov r10, lr mov r11, #0 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 05/10] arm/zImage: annotate debug functions about corrupted registers 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-17 9:37 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Not sure if this is absolutely necessary, though. > --- > ?arch/arm/boot/compressed/head.S | ? ?4 ++++ > ?1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S > index f8a210b..dbeeb56 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -1005,6 +1005,7 @@ __armv3_mpu_cache_flush: > ?phexbuf: ? ? ? .space ?12 > ? ? ? ? ? ? ? ?.size ? phexbuf, . - phexbuf > > +@ phex corrupts {r0, r1, r2, r3} > ?phex: ? ? ? ? ?adr ? ? r3, phexbuf > ? ? ? ? ? ? ? ?mov ? ? r2, #0 > ? ? ? ? ? ? ? ?strb ? ?r2, [r3, r1] > @@ -1019,6 +1020,7 @@ phex: ? ? ? ? ? ? adr ? ? r3, phexbuf > ? ? ? ? ? ? ? ?strb ? ?r2, [r3, r1] > ? ? ? ? ? ? ? ?b ? ? ? 1b > > +@ puts corrupts {r0, r1, r2, r3} > ?puts: ? ? ? ? ?loadsp ?r3, r1 > ?1: ? ? ? ? ? ? ldrb ? ?r2, [r0], #1 > ? ? ? ? ? ? ? ?teq ? ? r2, #0 > @@ -1033,12 +1035,14 @@ puts: ? ? ? ? ? loadsp ?r3, r1 > ? ? ? ? ? ? ? ?teq ? ? r0, #0 > ? ? ? ? ? ? ? ?bne ? ? 1b > ? ? ? ? ? ? ? ?mov ? ? pc, lr > +@ putc corrupts {r0, r1, r2, r3} > ?putc: > ? ? ? ? ? ? ? ?mov ? ? r2, r0 > ? ? ? ? ? ? ? ?mov ? ? r0, #0 > ? ? ? ? ? ? ? ?loadsp ?r3, r1 > ? ? ? ? ? ? ? ?b ? ? ? 2b > > +@ memdump corrupts {r0, r1, r2, r3, r10, r11, r12, lr} > ?memdump: ? ? ? mov ? ? r12, r0 > ? ? ? ? ? ? ? ?mov ? ? r10, lr > ? ? ? ? ? ? ? ?mov ? ? r11, #0 > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 05/10] arm/zImage: annotate debug functions about corrupted registers 2010-06-17 9:37 ` Eric Miao @ 2010-06-17 9:49 ` Uwe Kleine-König 0 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-17 9:49 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 17, 2010 at 05:37:52PM +0800, Eric Miao wrote: > 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > Not sure if this is absolutely necessary, though. I had to analyze which registers are corrupted to create the last patch in the series. I don't have strong feelings but thought to document my findings. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 06/10] arm: remove bit-rotten STANDALONE_DEBUG for decompressor 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (4 preceding siblings ...) 2010-06-10 10:27 ` [PATCH 05/10] arm/zImage: annotate debug functions about corrupted registers Uwe Kleine-König @ 2010-06-10 10:27 ` 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 ` (4 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel I tried to get this running to debug the regression introduced by e7db7b4 without success. But this has several problems that make it hard to fix: - lib/decompress_inflate.c includes in-kernel headers that make it difficult to compile for user space. - the binary formats changed both in kernel and user space and at least for the kernel side there isn't only a single variant. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/Makefile.debug | 23 ----------------------- arch/arm/boot/compressed/misc.c | 20 -------------------- 2 files changed, 0 insertions(+), 43 deletions(-) delete mode 100644 arch/arm/boot/compressed/Makefile.debug diff --git a/arch/arm/boot/compressed/Makefile.debug b/arch/arm/boot/compressed/Makefile.debug deleted file mode 100644 index 491a037..0000000 --- a/arch/arm/boot/compressed/Makefile.debug +++ /dev/null @@ -1,23 +0,0 @@ -# -# linux/arch/arm/boot/compressed/Makefile -# -# create a compressed vmlinux image from the original vmlinux -# - -COMPRESSED_EXTRA=../../lib/ll_char_wr.o -OBJECTS=misc-debug.o ll_char_wr.aout.o - -CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c - -test-gzip: piggy.aout.o $(OBJECTS) - $(CC) -o $@ $(OBJECTS) piggy.aout.o - -misc-debug.o: misc.c - $(CC) $(CFLAGS) -o $@ misc.c - -piggy.aout.o: piggy.o - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o - -ll_char_wr.aout.o: $(COMPRESSED_EXTRA) - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux $(COMPRESSED_EXTRA) ll_char_wr.aout.o - diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index d2b2ef4..e653a6d 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c @@ -28,9 +28,6 @@ unsigned int __machine_arch_type; #include <asm/unaligned.h> -#ifdef STANDALONE_DEBUG -#define putstr printf -#else static void putstr(const char *ptr); extern void error(char *x); @@ -116,7 +113,6 @@ static void putstr(const char *ptr) flush(); } -#endif void *memcpy(void *__dest, __const void *__src, size_t __n) { @@ -186,7 +182,6 @@ asmlinkage void __div0(void) extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)); -#ifndef STANDALONE_DEBUG unsigned long decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, @@ -211,18 +206,3 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, putstr(" done, booting the kernel.\n"); return output_ptr; } -#else - -char output_buffer[1500*1024]; - -int main() -{ - output_data = output_buffer; - - putstr("Uncompressing Linux..."); - decompress(input_data, input_data_end - input_data, - NULL, NULL, output_data, NULL, error); - putstr("done.\n"); - return 0; -} -#endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 06/10] arm: remove bit-rotten STANDALONE_DEBUG for decompressor 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-17 9:50 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > I tried to get this running to debug the regression introduced by > e7db7b4 without success. ?But this has several problems that make it > hard to fix: > > ?- lib/decompress_inflate.c includes in-kernel headers that make > ? ?it difficult to compile for user space. > ?- the binary formats changed both in kernel and user space and > ? ?at least for the kernel side there isn't only a single > ? ?variant. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> If it's not fixable, my personal feeling is agree with you to remove it. > --- > ?arch/arm/boot/compressed/Makefile.debug | ? 23 ----------------------- > ?arch/arm/boot/compressed/misc.c ? ? ? ? | ? 20 -------------------- > ?2 files changed, 0 insertions(+), 43 deletions(-) > ?delete mode 100644 arch/arm/boot/compressed/Makefile.debug > > diff --git a/arch/arm/boot/compressed/Makefile.debug b/arch/arm/boot/compressed/Makefile.debug > deleted file mode 100644 > index 491a037..0000000 > --- a/arch/arm/boot/compressed/Makefile.debug > +++ /dev/null > @@ -1,23 +0,0 @@ > -# > -# linux/arch/arm/boot/compressed/Makefile > -# > -# create a compressed vmlinux image from the original vmlinux > -# > - > -COMPRESSED_EXTRA=../../lib/ll_char_wr.o > -OBJECTS=misc-debug.o ll_char_wr.aout.o > - > -CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c > - > -test-gzip: piggy.aout.o $(OBJECTS) > - ? ? ? $(CC) -o $@ $(OBJECTS) piggy.aout.o > - > -misc-debug.o: misc.c > - ? ? ? $(CC) $(CFLAGS) -o $@ misc.c > - > -piggy.aout.o: piggy.o > - ? ? ? arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o > - > -ll_char_wr.aout.o: $(COMPRESSED_EXTRA) > - ? ? ? arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux $(COMPRESSED_EXTRA) ll_char_wr.aout.o > - > diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c > index d2b2ef4..e653a6d 100644 > --- a/arch/arm/boot/compressed/misc.c > +++ b/arch/arm/boot/compressed/misc.c > @@ -28,9 +28,6 @@ unsigned int __machine_arch_type; > > ?#include <asm/unaligned.h> > > -#ifdef STANDALONE_DEBUG > -#define putstr printf > -#else > > ?static void putstr(const char *ptr); > ?extern void error(char *x); > @@ -116,7 +113,6 @@ static void putstr(const char *ptr) > ? ? ? ?flush(); > ?} > > -#endif > > ?void *memcpy(void *__dest, __const void *__src, size_t __n) > ?{ > @@ -186,7 +182,6 @@ asmlinkage void __div0(void) > > ?extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)); > > -#ifndef STANDALONE_DEBUG > > ?unsigned long > ?decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, > @@ -211,18 +206,3 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, > ? ? ? ?putstr(" done, booting the kernel.\n"); > ? ? ? ?return output_ptr; > ?} > -#else > - > -char output_buffer[1500*1024]; > - > -int main() > -{ > - ? ? ? output_data = output_buffer; > - > - ? ? ? putstr("Uncompressing Linux..."); > - ? ? ? decompress(input_data, input_data_end - input_data, > - ? ? ? ? ? ? ? ? ? ? ? NULL, NULL, output_data, NULL, error); > - ? ? ? putstr("done.\n"); > - ? ? ? return 0; > -} > -#endif > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 07/10] arm/zImage: don't define unused symbol initrd_phys 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (5 preceding siblings ...) 2010-06-10 10:27 ` [PATCH 06/10] arm: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König @ 2010-06-10 10:27 ` 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 ` (3 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel The only user of initrd_phys is arch/arm/boot/bootp/init.S which still gets the value passed to. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/Makefile | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 53faa90..5419448 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -79,16 +79,13 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via -# linker symbols. We only define initrd_phys and params_phys if the -# machine class defined the corresponding makefile variable. +# Supply ZRELADDR and PARAMS_PHYS to the decompressor via linker symbols. We +# only define params_phys if the machine class defined the corresponding +# makefile variable. LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -ifneq ($(INITRD_PHYS),) -LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) -endif ifneq ($(PARAMS_PHYS),) LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 07/10] arm/zImage: don't define unused symbol initrd_phys 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 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-17 9:19 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > The only user of initrd_phys is arch/arm/boot/bootp/init.S which still > gets the value passed to. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Acked-by: Eric Miao <eric.miao@canonical.com> > --- > ?arch/arm/boot/compressed/Makefile | ? ?9 +++------ > ?1 files changed, 3 insertions(+), 6 deletions(-) > > diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile > index 53faa90..5419448 100644 > --- a/arch/arm/boot/compressed/Makefile > +++ b/arch/arm/boot/compressed/Makefile > @@ -79,16 +79,13 @@ endif > ?EXTRA_CFLAGS ?:= -fpic -fno-builtin > ?EXTRA_AFLAGS ?:= -Wa,-march=all > > -# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via > -# linker symbols. ?We only define initrd_phys and params_phys if the > -# machine class defined the corresponding makefile variable. > +# Supply ZRELADDR and PARAMS_PHYS to the decompressor via linker symbols. ?We > +# only define params_phys if the machine class defined the corresponding > +# makefile variable. > ?LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) > ?ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) > ?LDFLAGS_vmlinux += --be8 > ?endif > -ifneq ($(INITRD_PHYS),) > -LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) > -endif > ?ifneq ($(PARAMS_PHYS),) > ?LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) > ?endif > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 08/10] arm: deprecate support for old way to pass kernel parameters 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (6 preceding siblings ...) 2010-06-10 10:27 ` [PATCH 07/10] arm/zImage: don't define unused symbol initrd_phys Uwe Kleine-König @ 2010-06-10 10:27 ` Uwe Kleine-König 2010-06-17 9:58 ` Eric Miao 2010-06-10 10:27 ` [PATCH 09/10] arm/uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET Uwe Kleine-König ` (2 subsequent siblings) 10 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel This was deprecated in 2001 and announced to live on for 5 years. For now provide a kernel parameter for those who still need it. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 6 ++++++ arch/arm/kernel/Makefile | 4 +++- arch/arm/kernel/compat.c | 7 ------- arch/arm/kernel/compat.h | 2 -- arch/arm/kernel/setup.c | 11 +++++++++++ 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1f254bd..a53ac65 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1374,6 +1374,12 @@ config UACCESS_WITH_MEMCPY However, if the CPU data cache is using a write-allocate mode, this option is unlikely to provide any performance gain. +config DEPRECATED_PARAM_STRUCT + bool "Provide old way to pass kernel parameters" + help + This was deprecated in 2001 and announced to live on for 5 years. + Some old boot loaders still use this way. + endmenu menu "Boot options" diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 26d302c..021f72d 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -13,10 +13,12 @@ CFLAGS_REMOVE_return_address.o = -pg # Object file lists. -obj-y := compat.o elf.o entry-armv.o entry-common.o irq.o \ +obj-y := elf.o entry-armv.o entry-common.o irq.o \ process.o ptrace.o return_address.o setup.o signal.o \ sys_arm.o stacktrace.o time.o traps.o +obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o + obj-$(CONFIG_LEDS) += leds.o obj-$(CONFIG_OC_ETM) += etm.o diff --git a/arch/arm/kernel/compat.c b/arch/arm/kernel/compat.c index 0a13854..9256523 100644 --- a/arch/arm/kernel/compat.c +++ b/arch/arm/kernel/compat.c @@ -217,10 +217,3 @@ void __init convert_to_tag_list(struct tag *tags) struct param_struct *params = (struct param_struct *)tags; build_tag_list(params, ¶ms->u2); } - -void __init squash_mem_tags(struct tag *tag) -{ - for (; tag->hdr.size; tag = tag_next(tag)) - if (tag->hdr.tag == ATAG_MEM) - tag->hdr.tag = ATAG_NONE; -} diff --git a/arch/arm/kernel/compat.h b/arch/arm/kernel/compat.h index 27e61a6..39264ab 100644 --- a/arch/arm/kernel/compat.h +++ b/arch/arm/kernel/compat.h @@ -9,5 +9,3 @@ */ extern void convert_to_tag_list(struct tag *tags); - -extern void squash_mem_tags(struct tag *tag); diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 122d999..cbc6ddb 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -44,7 +44,9 @@ #include <asm/traps.h> #include <asm/unwind.h> +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) #include "compat.h" +#endif #include "atags.h" #include "tcm.h" @@ -663,6 +665,13 @@ static int __init customize_machine(void) } arch_initcall(customize_machine); +static void __init squash_mem_tags(struct tag *tag) +{ + for (; tag->hdr.size; tag = tag_next(tag)) + if (tag->hdr.tag == ATAG_MEM) + tag->hdr.tag = ATAG_NONE; +} + void __init setup_arch(char **cmdline_p) { struct tag *tags = (struct tag *)&init_tags; @@ -683,12 +692,14 @@ void __init setup_arch(char **cmdline_p) else if (mdesc->boot_params) tags = phys_to_virt(mdesc->boot_params); +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) /* * If we have the old style parameters, convert them to * a tag list. */ if (tags->hdr.tag != ATAG_CORE) convert_to_tag_list(tags); +#endif if (tags->hdr.tag != ATAG_CORE) tags = (struct tag *)&init_tags; -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 08/10] arm: deprecate support for old way to pass kernel parameters 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 0 siblings, 1 reply; 138+ messages in thread From: Eric Miao @ 2010-06-17 9:58 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > This was deprecated in 2001 and announced to live on for 5 years. > > For now provide a kernel parameter for those who still need it. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Looks OK to me, Acked. BTW, is there any existing usage of this and can we remove this completely from now on? > --- > ?arch/arm/Kconfig ? ? ? ? | ? ?6 ++++++ > ?arch/arm/kernel/Makefile | ? ?4 +++- > ?arch/arm/kernel/compat.c | ? ?7 ------- > ?arch/arm/kernel/compat.h | ? ?2 -- > ?arch/arm/kernel/setup.c ?| ? 11 +++++++++++ > ?5 files changed, 20 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 1f254bd..a53ac65 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1374,6 +1374,12 @@ config UACCESS_WITH_MEMCPY > ? ? ? ? ?However, if the CPU data cache is using a write-allocate mode, > ? ? ? ? ?this option is unlikely to provide any performance gain. > > +config DEPRECATED_PARAM_STRUCT > + ? ? ? bool "Provide old way to pass kernel parameters" > + ? ? ? help > + ? ? ? ? This was deprecated in 2001 and announced to live on for 5 years. > + ? ? ? ? Some old boot loaders still use this way. > + > ?endmenu > > ?menu "Boot options" > diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile > index 26d302c..021f72d 100644 > --- a/arch/arm/kernel/Makefile > +++ b/arch/arm/kernel/Makefile > @@ -13,10 +13,12 @@ CFLAGS_REMOVE_return_address.o = -pg > > ?# Object file lists. > > -obj-y ? ? ? ? ?:= compat.o elf.o entry-armv.o entry-common.o irq.o \ > +obj-y ? ? ? ? ?:= elf.o entry-armv.o entry-common.o irq.o \ > ? ? ? ? ? ? ? ? ? process.o ptrace.o return_address.o setup.o signal.o \ > ? ? ? ? ? ? ? ? ? sys_arm.o stacktrace.o time.o traps.o > > +obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o > + > ?obj-$(CONFIG_LEDS) ? ? ? ? ? ? += leds.o > ?obj-$(CONFIG_OC_ETM) ? ? ? ? ? += etm.o > > diff --git a/arch/arm/kernel/compat.c b/arch/arm/kernel/compat.c > index 0a13854..9256523 100644 > --- a/arch/arm/kernel/compat.c > +++ b/arch/arm/kernel/compat.c > @@ -217,10 +217,3 @@ void __init convert_to_tag_list(struct tag *tags) > ? ? ? ?struct param_struct *params = (struct param_struct *)tags; > ? ? ? ?build_tag_list(params, ¶ms->u2); > ?} > - > -void __init squash_mem_tags(struct tag *tag) > -{ > - ? ? ? for (; tag->hdr.size; tag = tag_next(tag)) > - ? ? ? ? ? ? ? if (tag->hdr.tag == ATAG_MEM) > - ? ? ? ? ? ? ? ? ? ? ? tag->hdr.tag = ATAG_NONE; > -} > diff --git a/arch/arm/kernel/compat.h b/arch/arm/kernel/compat.h > index 27e61a6..39264ab 100644 > --- a/arch/arm/kernel/compat.h > +++ b/arch/arm/kernel/compat.h > @@ -9,5 +9,3 @@ > ?*/ > > ?extern void convert_to_tag_list(struct tag *tags); > - > -extern void squash_mem_tags(struct tag *tag); > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c > index 122d999..cbc6ddb 100644 > --- a/arch/arm/kernel/setup.c > +++ b/arch/arm/kernel/setup.c > @@ -44,7 +44,9 @@ > ?#include <asm/traps.h> > ?#include <asm/unwind.h> > > +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) > ?#include "compat.h" > +#endif > ?#include "atags.h" > ?#include "tcm.h" > > @@ -663,6 +665,13 @@ static int __init customize_machine(void) > ?} > ?arch_initcall(customize_machine); > > +static void __init squash_mem_tags(struct tag *tag) > +{ > + ? ? ? for (; tag->hdr.size; tag = tag_next(tag)) > + ? ? ? ? ? ? ? if (tag->hdr.tag == ATAG_MEM) > + ? ? ? ? ? ? ? ? ? ? ? tag->hdr.tag = ATAG_NONE; > +} > + > ?void __init setup_arch(char **cmdline_p) > ?{ > ? ? ? ?struct tag *tags = (struct tag *)&init_tags; > @@ -683,12 +692,14 @@ void __init setup_arch(char **cmdline_p) > ? ? ? ?else if (mdesc->boot_params) > ? ? ? ? ? ? ? ?tags = phys_to_virt(mdesc->boot_params); > > +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) > ? ? ? ?/* > ? ? ? ? * If we have the old style parameters, convert them to > ? ? ? ? * a tag list. > ? ? ? ? */ > ? ? ? ?if (tags->hdr.tag != ATAG_CORE) > ? ? ? ? ? ? ? ?convert_to_tag_list(tags); > +#endif > ? ? ? ?if (tags->hdr.tag != ATAG_CORE) > ? ? ? ? ? ? ? ?tags = (struct tag *)&init_tags; > > -- > 1.7.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 08/10] arm: deprecate support for old way to pass kernel parameters 2010-06-17 9:58 ` Eric Miao @ 2010-06-17 23:00 ` Russell King - ARM Linux 0 siblings, 0 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-06-17 23:00 UTC (permalink / raw) To: linux-arm-kernel On Thu, Jun 17, 2010 at 05:58:42PM +0800, Eric Miao wrote: > 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > > This was deprecated in 2001 and announced to live on for 5 years. > > > > For now provide a kernel parameter for those who still need it. > > > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > Looks OK to me, Acked. > > BTW, is there any existing usage of this and can we remove this > completely from now on? Boot messages from my firewall: Linux version 2.6.32.8 (rmk at rmk-PC) (gcc version 3.4.3) #11 Sat Mar 27 20:51:49 GMT 2010 CPU: StrongARM-110 [4401a102] revision 2 (ARMv4), cr=0000517d CPU: VIVT data cache, VIVT instruction cache Machine: EBSA110 Converting old-style param struct to taglist ATAG_INITRD is deprecated; please update your bootloader. Memory policy: ECC disabled, Data cache writeback Obviously, being a critical machine here, and that I have no way to jtag it if I brick it, I'm not going to replace the boot loader (which incidentally can only bootp/tftp one file - the one in the bootp packet.) ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 09/10] arm/uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (7 preceding siblings ...) 2010-06-10 10:27 ` [PATCH 08/10] arm: deprecate support for old way to pass kernel parameters Uwe Kleine-König @ 2010-06-10 10:27 ` 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 10 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel the default load address (in the CONFIG_ZBOOT_ROM=n case) is ZRELADDR which (apart from being a stupid load address for the RUNTIME_PHYSOFFSET=n case) might not be a valid read/write memory on the target machine at all. So require passing a LOADADDR on the command line. This obiously makes the uImage more machine dependant than the zImage. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/Makefile | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 4a590f4..264dccf 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -64,11 +64,13 @@ quiet_cmd_uimage = UIMAGE $@ -C none -a $(LOADADDR) -e $(STARTADDR) \ -n 'Linux-$(KERNELRELEASE)' -d $< $@ +ifeq ($(CONFIG_RUNTIME_PHYS_OFFSET),) ifeq ($(CONFIG_ZBOOT_ROM),y) $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) else $(obj)/uImage: LOADADDR=$(ZRELADDR) endif +endif ifeq ($(CONFIG_THUMB2_KERNEL),y) # Set bit 0 to 1 so that "mov pc, rx" switches to Thumb-2 mode @@ -77,7 +79,9 @@ else $(obj)/uImage: STARTADDR=$(LOADADDR) endif -$(obj)/uImage: $(obj)/zImage FORCE +$(obj)/uImage: $(obj)/zImage FORCE + @test -n "$(LOADADDR)" || \ + (echo "You must specify a load address (i.e. make uImage LOADADDR=0x...)"; exit 1) $(call if_changed,uimage) @echo ' Image $@ is ready' -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 10/10] arm: Allow PHYS_OFFSET to be runtime determined 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (8 preceding siblings ...) 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 ` Uwe Kleine-König 2010-06-10 10:28 ` [PATCH 0/10] cleanup in early boot code Eric Miao 10 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-06-10 10:27 UTC (permalink / raw) To: linux-arm-kernel This bases on work done earlier by Lennert Buytenhek and Mark A. Greer. Compared to their approach zreladdr isn't guessed based on the pc register but the bootloader is expected to pass PHYS_OFFSET in r3. If that value doesn't look right (e.g. isn't aligned) it is guessed based on the value of sp. This should work for CONFIG_ZBOOT_ROM, too. To use it for your machine removing the definition of PHYS_OFFSET from <mach/memory.h> and selecting CONFIG_RUNTIME_PHYS_OFFSET should be enough. Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: Steve Chen <schen@mvista.com> Cc: Mark A. Greer <mgreer@mvista.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- This patch is only included as I forgot to take it out before sending the initial mail. But maybe it's not bad to have it in this thread, too. Best regards Uwe Documentation/arm/Booting | 1 + arch/arm/Kconfig | 3 ++ arch/arm/boot/compressed/Makefile | 1 + arch/arm/boot/compressed/head.S | 50 +++++++++++++++++++++++++++++++++++++ arch/arm/include/asm/memory.h | 5 +++ arch/arm/kernel/head.S | 31 +++++++++++++++++------ arch/arm/kernel/setup.c | 10 ++++++- 7 files changed, 92 insertions(+), 9 deletions(-) diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting index 7685029..ec228a4 100644 --- a/Documentation/arm/Booting +++ b/Documentation/arm/Booting @@ -126,6 +126,7 @@ In either case, the following conditions must be met: r0 = 0, r1 = machine type number discovered in (3) above. r2 = physical address of tagged list in system RAM. + r3 = PHYS_OFFSET - CPU mode All forms of interrupts must be disabled (IRQs and FIQs) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a53ac65..7ac29a5 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1374,6 +1374,9 @@ config UACCESS_WITH_MEMCPY However, if the CPU data cache is using a write-allocate mode, this option is unlikely to provide any performance gain. +config RUNTIME_PHYS_OFFSET + bool + config DEPRECATED_PARAM_STRUCT bool "Provide old way to pass kernel parameters" help diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 5419448..0660a25 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -4,6 +4,7 @@ # create a compressed vmlinuz image from the original vmlinux # +AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) HEAD = head.o OBJS = misc.o decompress.o FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index dbeeb56..e066d26 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -120,6 +120,16 @@ wait: mrc p14, 0, pc, c0, c1, 0 #endif .endm + .macro debug_passed_physoffset +#ifdef DEBUG + bleq 1f + kputc #'!' + kphex r9, 8 + kputc #'\n' +1: +#endif + .endm + .section ".start", #alloc, #execinstr /* * sort out different calling conventions @@ -137,6 +147,7 @@ start: .word _edata @ zImage end address 1: mov r7, r1 @ save architecture ID mov r8, r2 @ save atags pointer + mov r9, r3 @ save phys_offset #ifndef __ARM_ARCH_2__ /* @@ -234,6 +245,44 @@ not_relocated: mov r0, #0 cmp r2, r3 blo 1b +#ifdef CONFIG_RUNTIME_PHYS_OFFSET + /* + * assert physoffset passed by bootloader is properly + * 2MiB-aligned, ... + */ + ldr r10, =0x001fffff + + tst r9, r10 + debug_passed_physoffset + tst r9, r10 + + /* + * ... if not guess it based on sp. + * sp & 0xf8000000 should work for most machines. The needed + * preconditions are: + * - physoffset is aligned to a 128MiB boundary + * (As of Jan 2010 all but s3c2400, u300 and at91 have it. + * For the latter it depends on configuration.) + * - sp < physoffset + 128MiB (which is definitely true if you + * only have 128MiB of RAM or less) + */ + andne r9, sp, #0xf8000000 + +#ifdef DEBUG + kputc #'P' + kphex r9, 8 + kputc #'\n' +#endif + + add r4, r9, #TEXT_OFFSET +#else /* ifdef CONFIG_RUNTIME_PHYS_OFFSET */ + /* warn on r4(ZRELADDR) != r9 + TEXT_OFFSET */ + add r10, r9, #TEXT_OFFSET + cmp r10, r4 + debug_passed_physoffset + +#endif /* ifdef CONFIG_RUNTIME_PHYS_OFFSET / else */ + /* * The C runtime environment should now be setup * sufficiently. Turn the cache on, set up some @@ -570,6 +619,7 @@ call_kernel: bl cache_clean_flush mov r0, #0 @ must be zero mov r1, r7 @ restore architecture number mov r2, r8 @ restore atags pointer + sub r3, r4, #TEXT_OFFSET @ physoffset mov pc, r4 @ call kernel /* diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 4312ee5..05a7a3f 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h @@ -24,6 +24,11 @@ */ #define UL(x) _AC(x, UL) +#if defined(CONFIG_RUNTIME_PHYS_OFFSET) && !defined(__ASSEMBLY__) +extern unsigned long phys_offset; +#define PHYS_OFFSET phys_offset +#endif + #ifdef CONFIG_MMU /* diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index eb62bf9..b173bb6 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -22,12 +22,14 @@ #include <asm/thread_info.h> #include <asm/system.h> +#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) #if (PHYS_OFFSET & 0x001fffff) #error "PHYS_OFFSET must be at an even 2MiB boundary!" #endif +#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) +#endif #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) -#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) /* @@ -44,8 +46,8 @@ .globl swapper_pg_dir .equ swapper_pg_dir, KERNEL_RAM_VADDR - 0x4000 - .macro pgtbl, rd - ldr \rd, =(KERNEL_RAM_PADDR - 0x4000) + .macro pgtbl, rd, phys_offset + add \rd, \phys_offset, #(TEXT_OFFSET - 0x4000) .endm #ifdef CONFIG_XIP_KERNEL @@ -215,9 +217,25 @@ ENDPROC(__turn_mmu_on) * Returns: * r0, r3, r6, r7 corrupted * r4 = physical page table address + * r5 = physical start address of (the first bank of) RAM (PHYS_OFFSET) */ __create_page_tables: - pgtbl r4 @ page table address +#if defined(CONFIG_RUNTIME_PHYS_OFFSET) + @ stext is at PHYS_OFFSET + TEXT_OFFSET. As PHYS_OFFSET has to be + @ 2MiB-aligned and assuming that TEXT_OFFSET < 2MiB + @ stext & 0xffe00000 yields PHYS_OFFSET + adr r5, stext + ldr r4, =0xffe00000 + and r5, r5, r4 + + @ save phys_offset + ldr r4, =(phys_offset - PAGE_OFFSET) + str r5, [r4, r5] +#else + ldr r5, =PHYS_OFFSET +#endif + + pgtbl r4, r5 @ r4 = page table address /* * Clear the 16K level 1 swapper page table @@ -282,10 +300,7 @@ __create_page_tables: * Then map first 1MB of ram in case it contains our boot params. */ add r0, r4, #PAGE_OFFSET >> 18 - orr r6, r7, #(PHYS_OFFSET & 0xff000000) - .if (PHYS_OFFSET & 0x00f00000) - orr r6, r6, #(PHYS_OFFSET & 0x00f00000) - .endif + orr r6, r7, r5 str r6, [r0] #ifdef CONFIG_DEBUG_LL diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index cbc6ddb..02fe334 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -69,6 +69,12 @@ __setup("fpe=", fpe_setup); extern void paging_init(struct machine_desc *desc); extern void reboot_setup(char *str); +#if defined(CONFIG_RUNTIME_PHYS_OFFSET) +/* assign a value to prevent phys_offset from ending in up bss */ +unsigned long phys_offset = 0xdeadbeef; +EXPORT_SYMBOL(phys_offset); +#endif + unsigned int processor_id; EXPORT_SYMBOL(processor_id); unsigned int __machine_arch_type; @@ -650,7 +656,7 @@ static struct init_tags { { tag_size(tag_core), ATAG_CORE }, { 1, PAGE_SIZE, 0xff }, { tag_size(tag_mem32), ATAG_MEM }, - { MEM_SIZE, PHYS_OFFSET }, + { MEM_SIZE, }, { 0, ATAG_NONE } }; @@ -691,6 +697,8 @@ void __init setup_arch(char **cmdline_p) tags = phys_to_virt(__atags_pointer); else if (mdesc->boot_params) tags = phys_to_virt(mdesc->boot_params); + else + init_tags.mem.start = PHYS_OFFSET; #if defined(CONFIG_DEPRECATED_PARAM_STRUCT) /* -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 0/10] cleanup in early boot code 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König ` (9 preceding siblings ...) 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 ` Eric Miao 10 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-06-10 10:28 UTC (permalink / raw) To: linux-arm-kernel 2010/6/10 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hello, > > a while ago I sent a few patches that clean up in this area, too, some > of them are orthogonal to Eric's. ?I resend them in reply to this mail. > > Eric, maybe we can start merging your and my work, at least the bits > that doesn't need further discussion between us? ?(i.e. the patches I > acked and hopefully the first few of mine) > > Do you irc? ?I'm (e.g.) in #armlinux on freenode. I'm normally ericm or ericm|ubuntu in #ubuntu-arm, sometime, I'll add #armlinux into my channels to join automatically > > Best regards > Uwe > > -- > Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?| > Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?| > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-06-03 7:36 [PATCH 0/5] Makefile.boot cleanup Eric Miao ` (7 preceding siblings ...) 2010-06-10 10:24 ` [PATCH 0/10] cleanup in early boot code Uwe Kleine-König @ 2010-07-05 14:13 ` 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 ` (11 more replies) 8 siblings, 12 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:13 UTC (permalink / raw) To: linux-arm-kernel Hello, this series is a merge between Eric's and my patches that we did to clean up the early boot code. It doesn't contain runtime physoffset support for now, but I plan to pick that up later. Best regards Uwe The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) are available in the git repository at: git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting Eric Miao (2): ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-K?nig (9): ARM: zImage: don't hard code the stack size twice ARM: zImage: some comments for __armv3_mpu_cache_on ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush ARM: zImage: annotate debug functions about corrupted registers ARM: remove bit-rotten STANDALONE_DEBUG for decompressor ARM: zImage: don't define unused symbol initrd_phys ARM: deprecate support for old way to pass kernel parameters ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET arch/arm/Kconfig | 105 +++++++++++++++++++++++++++++++ arch/arm/boot/Makefile | 14 +++-- arch/arm/boot/compressed/Makefile | 11 +--- arch/arm/boot/compressed/Makefile.debug | 23 ------- arch/arm/boot/compressed/head.S | 40 +++++++++--- arch/arm/boot/compressed/misc.c | 20 ------ arch/arm/kernel/Makefile | 4 +- arch/arm/kernel/compat.c | 7 -- arch/arm/kernel/compat.h | 2 - arch/arm/kernel/setup.c | 11 +++ 10 files changed, 157 insertions(+), 80 deletions(-) delete mode 100644 arch/arm/boot/compressed/Makefile.debug -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 01/11] ARM: zImage: don't hard code the stack size twice 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König @ 2010-07-05 14:15 ` 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 ` (10 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel Acked-by: Eric Miao <eric.miao@canonical.com> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index c5191b1..390aa92 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -315,7 +315,7 @@ LC0: .word LC0 @ r1 .word _image_size @ r6 .word _got_start @ r11 .word _got_end @ ip - .word user_stack+4096 @ sp + .word user_stack_end @ sp LC1: .word reloc_end - reloc_start .size LC0, . - LC0 @@ -1070,3 +1070,4 @@ reloc_end: .align .section ".stack", "w" user_stack: .space 4096 +user_stack_end: -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 02/11] ARM: zImage: some comments for __armv3_mpu_cache_on 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 ` 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 ` (9 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel __armv3_mpu_cache_on seems broken. As there is noone around who knows about these machines just keep the code as is but point out the strange things. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 390aa92..7b7d95c 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -396,12 +396,18 @@ __armv3_mpu_cache_on: mov r0, #0 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 + /* + * ?? ARMv3 MMU does not allow reading the control register, + * does this really work on ARMv3 MPU? + */ mrc p15, 0, r0, c1, c0, 0 @ read control reg @ .... .... .... WC.M orr r0, r0, #0x000d @ .... .... .... 11.1 + /* ?? this overwrites the value constructed above? */ mov r0, #0 mcr p15, 0, r0, c1, c0, 0 @ write control reg + /* ?? invalidate for the second time? */ mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 mov pc, lr -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 03/11] ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification 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 ` 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 ` (8 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel Probably the register content for cache operations is "don't care" in practice, but as r1 is explicitly zeroed, use that one. Acked-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 7b7d95c..2366613 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -994,7 +994,7 @@ no_cache_id: __armv3_mmu_cache_flush: __armv3_mpu_cache_flush: mov r1, #0 - mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 + mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3 mov pc, lr /* -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 04/11] ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (2 preceding siblings ...) 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 ` Uwe Kleine-König 2010-07-05 14:15 ` [PATCH 05/11] ARM: zImage: annotate debug functions about corrupted registers Uwe Kleine-König ` (7 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel This adds missing registers to the list of corrupted registers and removes a wrong comment about r9 on entry While at it the formatting of the comment to cache_off is changed to resemble the other two. Acked-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 2366613..ca62ff5 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -339,9 +339,8 @@ params: ldr r0, =params_phys * r4 = kernel execution address * r7 = architecture number * r8 = atags pointer - * r9 = run-time address of "start" (???) * On exit, - * r1, r2, r3, r9, r10, r12 corrupted + * r0, r1, r2, r3, r9, r10, r12 corrupted * This routine must preserve: * r4, r5, r6, r7, r8 */ @@ -777,8 +776,10 @@ proc_types: * Turn off the Cache and MMU. ARMv3 does not support * reading the control register, but ARMv4 does. * - * On exit, r0, r1, r2, r3, r9, r12 corrupted - * This routine must preserve: r4, r6, r7 + * On exit, + * r0, r1, r2, r3, r9, r12 corrupted + * This routine must preserve: + * r4, r6, r7 */ .align 5 cache_off: mov r3, #12 @ cache_off function @@ -851,7 +852,7 @@ __armv3_mmu_cache_off: * Clean and flush the cache to maintain consistency. * * On exit, - * r1, r2, r3, r9, r11, r12 corrupted + * r1, r2, r3, r9, r10, r11, r12 corrupted * This routine must preserve: * r0, r4, r5, r6, r7 */ -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 05/11] ARM: zImage: annotate debug functions about corrupted registers 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (3 preceding siblings ...) 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 ` Uwe Kleine-König 2010-07-05 14:15 ` [PATCH 06/11] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König ` (6 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/head.S | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index ca62ff5..f61c76e 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -1008,6 +1008,7 @@ __armv3_mpu_cache_flush: phexbuf: .space 12 .size phexbuf, . - phexbuf +@ phex corrupts {r0, r1, r2, r3} phex: adr r3, phexbuf mov r2, #0 strb r2, [r3, r1] @@ -1022,6 +1023,7 @@ phex: adr r3, phexbuf strb r2, [r3, r1] b 1b +@ puts corrupts {r0, r1, r2, r3} puts: loadsp r3, r1 1: ldrb r2, [r0], #1 teq r2, #0 @@ -1036,12 +1038,14 @@ puts: loadsp r3, r1 teq r0, #0 bne 1b mov pc, lr +@ putc corrupts {r0, r1, r2, r3} putc: mov r2, r0 mov r0, #0 loadsp r3, r1 b 2b +@ memdump corrupts {r0, r1, r2, r3, r10, r11, r12, lr} memdump: mov r12, r0 mov r10, lr mov r11, #0 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 06/11] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (4 preceding siblings ...) 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 ` 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 ` (5 subsequent siblings) 11 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel I tried to get this running to debug the regression introduced by e7db7b4 without success. But this has several problems that make it hard to fix: - lib/decompress_inflate.c includes in-kernel headers that make it difficult to compile for user space. - the binary formats changed both in kernel and user space and at least for the kernel side there isn't only a single variant. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/Makefile.debug | 23 ----------------------- arch/arm/boot/compressed/misc.c | 20 -------------------- 2 files changed, 0 insertions(+), 43 deletions(-) delete mode 100644 arch/arm/boot/compressed/Makefile.debug diff --git a/arch/arm/boot/compressed/Makefile.debug b/arch/arm/boot/compressed/Makefile.debug deleted file mode 100644 index 491a037..0000000 --- a/arch/arm/boot/compressed/Makefile.debug +++ /dev/null @@ -1,23 +0,0 @@ -# -# linux/arch/arm/boot/compressed/Makefile -# -# create a compressed vmlinux image from the original vmlinux -# - -COMPRESSED_EXTRA=../../lib/ll_char_wr.o -OBJECTS=misc-debug.o ll_char_wr.aout.o - -CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c - -test-gzip: piggy.aout.o $(OBJECTS) - $(CC) -o $@ $(OBJECTS) piggy.aout.o - -misc-debug.o: misc.c - $(CC) $(CFLAGS) -o $@ misc.c - -piggy.aout.o: piggy.o - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o - -ll_char_wr.aout.o: $(COMPRESSED_EXTRA) - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux $(COMPRESSED_EXTRA) ll_char_wr.aout.o - diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c index d2b2ef4..e653a6d 100644 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c @@ -28,9 +28,6 @@ unsigned int __machine_arch_type; #include <asm/unaligned.h> -#ifdef STANDALONE_DEBUG -#define putstr printf -#else static void putstr(const char *ptr); extern void error(char *x); @@ -116,7 +113,6 @@ static void putstr(const char *ptr) flush(); } -#endif void *memcpy(void *__dest, __const void *__src, size_t __n) { @@ -186,7 +182,6 @@ asmlinkage void __div0(void) extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)); -#ifndef STANDALONE_DEBUG unsigned long decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, @@ -211,18 +206,3 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, putstr(" done, booting the kernel.\n"); return output_ptr; } -#else - -char output_buffer[1500*1024]; - -int main() -{ - output_data = output_buffer; - - putstr("Uncompressing Linux..."); - decompress(input_data, input_data_end - input_data, - NULL, NULL, output_data, NULL, error); - putstr("done.\n"); - return 0; -} -#endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 06/11] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor 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 0 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-07-05 15:36 UTC (permalink / raw) To: linux-arm-kernel On Mon, 5 Jul 2010, Uwe Kleine-K?nig wrote: > I tried to get this running to debug the regression introduced by > e7db7b4 without success. But this has several problems that make it > hard to fix: > > - lib/decompress_inflate.c includes in-kernel headers that make > it difficult to compile for user space. > - the binary formats changed both in kernel and user space and > at least for the kernel side there isn't only a single > variant. > > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> > --- > arch/arm/boot/compressed/Makefile.debug | 23 ----------------------- > arch/arm/boot/compressed/misc.c | 20 -------------------- > 2 files changed, 0 insertions(+), 43 deletions(-) > delete mode 100644 arch/arm/boot/compressed/Makefile.debug > > diff --git a/arch/arm/boot/compressed/Makefile.debug b/arch/arm/boot/compressed/Makefile.debug > deleted file mode 100644 > index 491a037..0000000 > --- a/arch/arm/boot/compressed/Makefile.debug > +++ /dev/null > @@ -1,23 +0,0 @@ > -# > -# linux/arch/arm/boot/compressed/Makefile > -# > -# create a compressed vmlinux image from the original vmlinux > -# > - > -COMPRESSED_EXTRA=../../lib/ll_char_wr.o > -OBJECTS=misc-debug.o ll_char_wr.aout.o > - > -CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c > - > -test-gzip: piggy.aout.o $(OBJECTS) > - $(CC) -o $@ $(OBJECTS) piggy.aout.o > - > -misc-debug.o: misc.c > - $(CC) $(CFLAGS) -o $@ misc.c > - > -piggy.aout.o: piggy.o > - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o > - > -ll_char_wr.aout.o: $(COMPRESSED_EXTRA) > - arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux $(COMPRESSED_EXTRA) ll_char_wr.aout.o > - > diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c > index d2b2ef4..e653a6d 100644 > --- a/arch/arm/boot/compressed/misc.c > +++ b/arch/arm/boot/compressed/misc.c > @@ -28,9 +28,6 @@ unsigned int __machine_arch_type; > > #include <asm/unaligned.h> > > -#ifdef STANDALONE_DEBUG > -#define putstr printf > -#else > > static void putstr(const char *ptr); > extern void error(char *x); > @@ -116,7 +113,6 @@ static void putstr(const char *ptr) > flush(); > } > > -#endif > > void *memcpy(void *__dest, __const void *__src, size_t __n) > { > @@ -186,7 +182,6 @@ asmlinkage void __div0(void) > > extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)); > > -#ifndef STANDALONE_DEBUG > > unsigned long > decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, > @@ -211,18 +206,3 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, > putstr(" done, booting the kernel.\n"); > return output_ptr; > } > -#else > - > -char output_buffer[1500*1024]; > - > -int main() > -{ > - output_data = output_buffer; > - > - putstr("Uncompressing Linux..."); > - decompress(input_data, input_data_end - input_data, > - NULL, NULL, output_data, NULL, error); > - putstr("done.\n"); > - return 0; > -} > -#endif > -- > 1.7.1 > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 07/11] ARM: zImage: don't define unused symbol initrd_phys 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (5 preceding siblings ...) 2010-07-05 14:15 ` [PATCH 06/11] ARM: remove bit-rotten STANDALONE_DEBUG for decompressor Uwe Kleine-König @ 2010-07-05 14:15 ` 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 ` (4 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel The only user of initrd_phys is arch/arm/boot/bootp/init.S which still gets the value passed to. Acked-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/Makefile | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 53faa90..5419448 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -79,16 +79,13 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via -# linker symbols. We only define initrd_phys and params_phys if the -# machine class defined the corresponding makefile variable. +# Supply ZRELADDR and PARAMS_PHYS to the decompressor via linker symbols. We +# only define params_phys if the machine class defined the corresponding +# makefile variable. LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -ifneq ($(INITRD_PHYS),) -LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS) -endif ifneq ($(PARAMS_PHYS),) LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) endif -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 08/11] ARM: deprecate support for old way to pass kernel parameters 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (6 preceding siblings ...) 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 ` 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 ` (3 subsequent siblings) 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel This was deprecated in 2001 and announced to live on for 5 years. For now provide a kernel parameter for those who still need it. Acked-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 6 ++++++ arch/arm/kernel/Makefile | 4 +++- arch/arm/kernel/compat.c | 7 ------- arch/arm/kernel/compat.h | 2 -- arch/arm/kernel/setup.c | 11 +++++++++++ 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1f254bd..a53ac65 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1374,6 +1374,12 @@ config UACCESS_WITH_MEMCPY However, if the CPU data cache is using a write-allocate mode, this option is unlikely to provide any performance gain. +config DEPRECATED_PARAM_STRUCT + bool "Provide old way to pass kernel parameters" + help + This was deprecated in 2001 and announced to live on for 5 years. + Some old boot loaders still use this way. + endmenu menu "Boot options" diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 26d302c..021f72d 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -13,10 +13,12 @@ CFLAGS_REMOVE_return_address.o = -pg # Object file lists. -obj-y := compat.o elf.o entry-armv.o entry-common.o irq.o \ +obj-y := elf.o entry-armv.o entry-common.o irq.o \ process.o ptrace.o return_address.o setup.o signal.o \ sys_arm.o stacktrace.o time.o traps.o +obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o + obj-$(CONFIG_LEDS) += leds.o obj-$(CONFIG_OC_ETM) += etm.o diff --git a/arch/arm/kernel/compat.c b/arch/arm/kernel/compat.c index 0a13854..9256523 100644 --- a/arch/arm/kernel/compat.c +++ b/arch/arm/kernel/compat.c @@ -217,10 +217,3 @@ void __init convert_to_tag_list(struct tag *tags) struct param_struct *params = (struct param_struct *)tags; build_tag_list(params, ¶ms->u2); } - -void __init squash_mem_tags(struct tag *tag) -{ - for (; tag->hdr.size; tag = tag_next(tag)) - if (tag->hdr.tag == ATAG_MEM) - tag->hdr.tag = ATAG_NONE; -} diff --git a/arch/arm/kernel/compat.h b/arch/arm/kernel/compat.h index 27e61a6..39264ab 100644 --- a/arch/arm/kernel/compat.h +++ b/arch/arm/kernel/compat.h @@ -9,5 +9,3 @@ */ extern void convert_to_tag_list(struct tag *tags); - -extern void squash_mem_tags(struct tag *tag); diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 122d999..cbc6ddb 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -44,7 +44,9 @@ #include <asm/traps.h> #include <asm/unwind.h> +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) #include "compat.h" +#endif #include "atags.h" #include "tcm.h" @@ -663,6 +665,13 @@ static int __init customize_machine(void) } arch_initcall(customize_machine); +static void __init squash_mem_tags(struct tag *tag) +{ + for (; tag->hdr.size; tag = tag_next(tag)) + if (tag->hdr.tag == ATAG_MEM) + tag->hdr.tag = ATAG_NONE; +} + void __init setup_arch(char **cmdline_p) { struct tag *tags = (struct tag *)&init_tags; @@ -683,12 +692,14 @@ void __init setup_arch(char **cmdline_p) else if (mdesc->boot_params) tags = phys_to_virt(mdesc->boot_params); +#if defined(CONFIG_DEPRECATED_PARAM_STRUCT) /* * If we have the old style parameters, convert them to * a tag list. */ if (tags->hdr.tag != ATAG_CORE) convert_to_tag_list(tags); +#endif if (tags->hdr.tag != ATAG_CORE) tags = (struct tag *)&init_tags; -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 09/11] ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (7 preceding siblings ...) 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 ` 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 ` (2 subsequent siblings) 11 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel the default load address (in the CONFIG_ZBOOT_ROM=n case) is ZRELADDR which (apart from being a stupid load address for the RUNTIME_PHYSOFFSET=n case) might not be a valid read/write memory on the target machine at all. So require passing a LOADADDR on the command line. This obiously makes the uImage more machine dependant than the zImage. Note RUNTIME_PHYSOFFSET doesn't exist yet, but is about to come soon. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/Makefile | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index 4a590f4..264dccf 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -64,11 +64,13 @@ quiet_cmd_uimage = UIMAGE $@ -C none -a $(LOADADDR) -e $(STARTADDR) \ -n 'Linux-$(KERNELRELEASE)' -d $< $@ +ifeq ($(CONFIG_RUNTIME_PHYS_OFFSET),) ifeq ($(CONFIG_ZBOOT_ROM),y) $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) else $(obj)/uImage: LOADADDR=$(ZRELADDR) endif +endif ifeq ($(CONFIG_THUMB2_KERNEL),y) # Set bit 0 to 1 so that "mov pc, rx" switches to Thumb-2 mode @@ -77,7 +79,9 @@ else $(obj)/uImage: STARTADDR=$(LOADADDR) endif -$(obj)/uImage: $(obj)/zImage FORCE +$(obj)/uImage: $(obj)/zImage FORCE + @test -n "$(LOADADDR)" || \ + (echo "You must specify a load address (i.e. make uImage LOADADDR=0x...)"; exit 1) $(call if_changed,uimage) @echo ' Image $@ is ready' -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 09/11] ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET 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 0 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-07-05 16:03 UTC (permalink / raw) To: linux-arm-kernel On Mon, 5 Jul 2010, Uwe Kleine-K?nig wrote: > the default load address (in the CONFIG_ZBOOT_ROM=n case) is ZRELADDR > which (apart from being a stupid load address for the > RUNTIME_PHYSOFFSET=n case) might not be a valid read/write memory on the > target machine at all. So require passing a LOADADDR on the command > line. This obiously makes the uImage more machine dependant than the > zImage. Why is this required? If something is stupid here, it is the fact that the U-Boot image format insists on having a load address being built into it. That certainly makes uImage an unsuitable image format for the distribution of a cross platform kernel image. Besides that, you are claiming above that ZRELADDR might not be a valid writable address when ZBOOT_ROM=n. If that was true we would be having boot failures all over the place already. Remember that the goal for this revived effort behind the RUNTIME_PHYSOFFSET support is to eventually be able to boot a single kernel binary on multiple different platforms. Asking that a load address be provided at kernel compile time is rather incompatible with that goal. If there is no good default LOADADDR value for mkimage then simply don't provide any. I hope that mkimage can cope with that. Otherwise just give it 0 which is as wrong as any other value and let that be an incentive for the U-Boot people to fix the tool properly (i.e. use that as a flag to let U-Boot that the load address must be explicitly provided with the load command or whatever). Therefore, this is a NAK from me. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 10/11] ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (8 preceding siblings ...) 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 14:15 ` 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-07 14:45 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König 11 siblings, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.y.miao@gmail.com> The only reference in arch/arm/boot/compressed to PARAMS_PHYS is params() in head.S, which can be directly converted to the exact address as specified by arch/arm/mach-rpc/Makefile.boot. Signed-off-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/boot/compressed/Makefile | 7 +------ arch/arm/boot/compressed/head.S | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 5419448..2a80c9d 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -79,16 +79,11 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR and PARAMS_PHYS to the decompressor via linker symbols. We -# only define params_phys if the machine class defined the corresponding -# makefile variable. +# Supply ZRELADDR to the decompressor via a linker symbol. LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -ifneq ($(PARAMS_PHYS),) -LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS) -endif # ? LDFLAGS_vmlinux += -p # Report unresolved symbol references diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index f61c76e..d27faa1 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -321,7 +321,7 @@ LC1: .word reloc_end - reloc_start #ifdef CONFIG_ARCH_RPC .globl params -params: ldr r0, =params_phys +params: ldr r0, =0x10000100 @ params_phys for RPC mov pc, lr .ltorg .align -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (9 preceding siblings ...) 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 ` Uwe Kleine-König 2010-07-05 15:31 ` Nicolas Pitre 2010-07-31 15:54 ` Russell King - ARM Linux 2010-07-07 14:45 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König 11 siblings, 2 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-05 14:15 UTC (permalink / raw) To: linux-arm-kernel From: Eric Miao <eric.miao@canonical.com> As long as the zImage is placed within the 128MB range from the start of memory, ZRELADDR (Address where the decompressed kernel will be placed, usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by masking PC with 0xf80000000. Running through all the Makefile.boot, all those zreladdr-y addresses == 0x[0-f][08]00_0000 + TEXT_OFFSET can be determined at run-time. Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, CONFIG_ZRELADDR _must_ be explicitly specified if: - ((zreladdr-y - TEXT_OFFSET) & ~0xf8000000) != 0, which means masking PC with 0xf8000000 will result in an incorrect address. Currently this is only a problem on u300. - or the assumption of the zImage being loaded by the bootloader within the first 128MB of RAM is incorrect - or when ZBOOT_ROM is used, where the above assumption is usually wrong. [ukleinek: changed mask from 0xf0000000 to 0xf8000000 for mx1 and shark + some review fixes from the mailing list] Signed-off-by: Eric Miao <eric.miao@canonical.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/Kconfig | 99 +++++++++++++++++++++++++++++++++++++ arch/arm/boot/Makefile | 8 +-- arch/arm/boot/compressed/Makefile | 3 +- arch/arm/boot/compressed/head.S | 12 +++- 4 files changed, 112 insertions(+), 10 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a53ac65..0b0cf0d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1490,6 +1490,105 @@ config ATAGS_PROC Should the atags used to boot the kernel be exported in an "atags" file in procfs. Useful with kexec. +config AUTO_ZRELADDR + bool "Auto calculation of the decompressed kernel image address" + depends on !ZBOOT_ROM && !ARCH_U300 + help + ZRELADDR is the physical address where the decompressed kernel + image will be placed. If AUTO_ZRELADDR is selected, the address + will be determined at run-time by masking the current IP with + 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 + 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 264dccf..5e89c2c 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -14,18 +14,16 @@ 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 ZRELADDR INITRD_PHYS PARAMS_PHYS +export INITRD_PHYS PARAMS_PHYS targets := Image zImage xipImage bootpImage uImage @@ -68,7 +66,7 @@ ifeq ($(CONFIG_RUNTIME_PHYS_OFFSET),) ifeq ($(CONFIG_ZBOOT_ROM),y) $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) else -$(obj)/uImage: LOADADDR=$(ZRELADDR) +$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR) endif endif diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 2a80c9d..cc8380b 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -4,6 +4,7 @@ # create a compressed vmlinuz image from the original vmlinux # +AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) HEAD = head.o OBJS = misc.o decompress.o FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c @@ -79,8 +80,6 @@ endif EXTRA_CFLAGS := -fpic -fno-builtin EXTRA_AFLAGS := -Wa,-march=all -# Supply ZRELADDR to the decompressor via a linker symbol. -LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) 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 d27faa1..abf4d65 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -170,9 +170,16 @@ not_angel: .text adr r0, LC0 - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) + ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp}) + THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} ) THUMB( ldr sp, [r0, #32] ) +#ifdef CONFIG_AUTO_ZRELADDR + @ determine final kernel image address + and r4, pc, #0xf8000000 + add r4, r4, #TEXT_OFFSET +#else + ldr r4, =CONFIG_ZRELADDR +#endif subs r0, r0, r1 @ calculate the delta offset @ if delta is zero, we are @@ -310,7 +317,6 @@ wont_overwrite: mov r0, r4 LC0: .word LC0 @ r1 .word __bss_start @ r2 .word _end @ r3 - .word zreladdr @ r4 .word _start @ r5 .word _image_size @ r6 .word _got_start @ r11 -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions 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 1 sibling, 1 reply; 138+ messages in thread From: Nicolas Pitre @ 2010-07-05 15:31 UTC (permalink / raw) To: linux-arm-kernel On Mon, 5 Jul 2010, Uwe Kleine-K?nig wrote: > From: Eric Miao <eric.miao@canonical.com> > > As long as the zImage is placed within the 128MB range from the start of > memory, ZRELADDR (Address where the decompressed kernel will be placed, > usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by > masking PC with 0xf80000000. > > Running through all the Makefile.boot, all those zreladdr-y > addresses == 0x[0-f][08]00_0000 + TEXT_OFFSET can be determined at > run-time. > > Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, > CONFIG_ZRELADDR _must_ be explicitly specified if: > > - ((zreladdr-y - TEXT_OFFSET) & ~0xf8000000) != 0, which means > masking PC with 0xf8000000 will result in an incorrect address. > Currently this is only a problem on u300. > > - or the assumption of the zImage being loaded by the bootloader within > the first 128MB of RAM is incorrect > > - or when ZBOOT_ROM is used, where the above assumption is usually wrong. > > [ukleinek: changed mask from 0xf0000000 to 0xf8000000 for mx1 and shark > + some review fixes from the mailing list] > > Signed-off-by: Eric Miao <eric.miao@canonical.com> > Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Although Eric did all the work, the original idea was mine. Therefore: Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> > --- > arch/arm/Kconfig | 99 +++++++++++++++++++++++++++++++++++++ > arch/arm/boot/Makefile | 8 +-- > arch/arm/boot/compressed/Makefile | 3 +- > arch/arm/boot/compressed/head.S | 12 +++- > 4 files changed, 112 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index a53ac65..0b0cf0d 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1490,6 +1490,105 @@ config ATAGS_PROC > Should the atags used to boot the kernel be exported in an "atags" > file in procfs. Useful with kexec. > > +config AUTO_ZRELADDR > + bool "Auto calculation of the decompressed kernel image address" > + depends on !ZBOOT_ROM && !ARCH_U300 > + help > + ZRELADDR is the physical address where the decompressed kernel > + image will be placed. If AUTO_ZRELADDR is selected, the address > + will be determined at run-time by masking the current IP with > + 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 > + 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 264dccf..5e89c2c 100644 > --- a/arch/arm/boot/Makefile > +++ b/arch/arm/boot/Makefile > @@ -14,18 +14,16 @@ > 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 ZRELADDR INITRD_PHYS PARAMS_PHYS > +export INITRD_PHYS PARAMS_PHYS > > targets := Image zImage xipImage bootpImage uImage > > @@ -68,7 +66,7 @@ ifeq ($(CONFIG_RUNTIME_PHYS_OFFSET),) > ifeq ($(CONFIG_ZBOOT_ROM),y) > $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) > else > -$(obj)/uImage: LOADADDR=$(ZRELADDR) > +$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR) > endif > endif > > diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile > index 2a80c9d..cc8380b 100644 > --- a/arch/arm/boot/compressed/Makefile > +++ b/arch/arm/boot/compressed/Makefile > @@ -4,6 +4,7 @@ > # create a compressed vmlinuz image from the original vmlinux > # > > +AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) > HEAD = head.o > OBJS = misc.o decompress.o > FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c > @@ -79,8 +80,6 @@ endif > EXTRA_CFLAGS := -fpic -fno-builtin > EXTRA_AFLAGS := -Wa,-march=all > > -# Supply ZRELADDR to the decompressor via a linker symbol. > -LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR) > 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 d27faa1..abf4d65 100644 > --- a/arch/arm/boot/compressed/head.S > +++ b/arch/arm/boot/compressed/head.S > @@ -170,9 +170,16 @@ not_angel: > > .text > adr r0, LC0 > - ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp}) > - THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} ) > + ARM( ldmia r0, {r1, r2, r3, r5, r6, r11, ip, sp}) > + THUMB( ldmia r0, {r1, r2, r3, r5, r6, r11, ip} ) > THUMB( ldr sp, [r0, #32] ) > +#ifdef CONFIG_AUTO_ZRELADDR > + @ determine final kernel image address > + and r4, pc, #0xf8000000 > + add r4, r4, #TEXT_OFFSET > +#else > + ldr r4, =CONFIG_ZRELADDR > +#endif > subs r0, r0, r1 @ calculate the delta offset > > @ if delta is zero, we are > @@ -310,7 +317,6 @@ wont_overwrite: mov r0, r4 > LC0: .word LC0 @ r1 > .word __bss_start @ r2 > .word _end @ r3 > - .word zreladdr @ r4 > .word _start @ r5 > .word _image_size @ r6 > .word _got_start @ r11 > -- > 1.7.1 > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions 2010-07-05 15:31 ` Nicolas Pitre @ 2010-07-06 2:09 ` Eric Miao 0 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-07-06 2:09 UTC (permalink / raw) To: linux-arm-kernel 2010/7/5 Nicolas Pitre <nico@fluxnic.net>: > On Mon, 5 Jul 2010, Uwe Kleine-K?nig wrote: > >> From: Eric Miao <eric.miao@canonical.com> >> >> As long as the zImage is placed within the 128MB range from the start of >> memory, ZRELADDR (Address where the decompressed kernel will be placed, >> usually == PHYS_OFFSET + TEXT_OFFSET) can be determined at run-time by >> masking PC with 0xf80000000. >> >> Running through all the Makefile.boot, all those zreladdr-y >> addresses == 0x[0-f][08]00_0000 + TEXT_OFFSET can be determined at >> run-time. >> >> Option CONFIG_AUTO_ZRELADDR and CONFIG_ZRELADDR are introduced, >> CONFIG_ZRELADDR _must_ be explicitly specified if: >> >> - ((zreladdr-y - TEXT_OFFSET) & ~0xf8000000) != 0, which means >> ? masking PC with 0xf8000000 will result in an incorrect address. >> ? Currently this is only a problem on u300. >> >> - or the assumption of the zImage being loaded by the bootloader within >> ? the first 128MB of RAM is incorrect >> >> - or when ZBOOT_ROM is used, where the above assumption is usually wrong. >> >> [ukleinek: changed mask from 0xf0000000 to 0xf8000000 for mx1 and shark >> + some review fixes from the mailing list] >> >> Signed-off-by: Eric Miao <eric.miao@canonical.com> >> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> > > Although Eric did all the work, the original idea was mine. ?Therefore: > > Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org> > Yep. Uwe, please add this, thanks. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions 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-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 1 sibling, 2 replies; 138+ messages in thread From: Russell King - ARM Linux @ 2010-07-31 15:54 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jul 05, 2010 at 04:15:29PM +0200, Uwe Kleine-K?nig wrote: > +config ZRELADDR > + hex "Physical address of the decompressed kernel image" Does it really make sense for users to be able to edit this? I don't think so as some platforms depend on its value being set appropriately, plus the requirements for it aren't documented in the help text. ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions 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 1 sibling, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-07-31 17:44 UTC (permalink / raw) To: linux-arm-kernel On Sat, 31 Jul 2010, Russell King - ARM Linux wrote: > On Mon, Jul 05, 2010 at 04:15:29PM +0200, Uwe Kleine-K?nig wrote: > > +config ZRELADDR > > + hex "Physical address of the decompressed kernel image" > > Does it really make sense for users to be able to edit this? I don't > think so as some platforms depend on its value being set appropriately, > plus the requirements for it aren't documented in the help text. No, I don't think we should expose this to the user. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH] ARM: don't expose CONFIG_ZRELADDR to the users 2010-07-31 15:54 ` Russell King - ARM Linux 2010-07-31 17:44 ` Nicolas Pitre @ 2010-08-02 8:42 ` Uwe Kleine-König 1 sibling, 0 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-08-02 8:42 UTC (permalink / raw) To: linux-arm-kernel This value is essential for booting a zImage and only depends on the memory layout of the machine to boot. This value was specified in Makefile.boot before e69edc79 (ARM: Auto calculate ZRELADDR and provide option for exceptions) and so wasn't available to change via .config. Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> Cc: Russell King <linux@arm.linux.org.uk> Cc: Nicolas Pitre <nico@fluxnic.net> Cc: Eric Miao <eric.miao@canonical.com> --- arch/arm/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e39caa8..ec0e124 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1528,7 +1528,7 @@ config AUTO_ZRELADDR from start of memory. config ZRELADDR - hex "Physical address of the decompressed kernel image" + hex depends on !AUTO_ZRELADDR default 0x00008000 if ARCH_BCMRING ||\ ARCH_CNS3XXX ||\ -- 1.7.1 ^ permalink raw reply related [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-07-05 14:13 ` [PATCH 0/5] Makefile.boot cleanup Uwe Kleine-König ` (10 preceding siblings ...) 2010-07-05 14:15 ` [PATCH 11/11] Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-König @ 2010-07-07 14:45 ` Uwe Kleine-König 2010-07-07 15:54 ` Nicolas Pitre 11 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-07 14:45 UTC (permalink / raw) To: linux-arm-kernel Hi Russell, On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: > this series is a merge between Eric's and my patches that we did to > clean up the early boot code. It doesn't contain runtime physoffset > support for now, but I plan to pick that up later. I added Nicolas' Acks to my tree and dropped the one patch he objected. Are you willing to pull these now? Best regards Uwe > The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: > > Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) > > are available in the git repository at: > git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting > > Eric Miao (2): > ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed > Auto calculate ZRELADDR and provide option for exceptions > > Uwe Kleine-K?nig (9): > ARM: zImage: don't hard code the stack size twice > ARM: zImage: some comments for __armv3_mpu_cache_on > ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification > ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush > ARM: zImage: annotate debug functions about corrupted registers > ARM: remove bit-rotten STANDALONE_DEBUG for decompressor > ARM: zImage: don't define unused symbol initrd_phys > ARM: deprecate support for old way to pass kernel parameters > ARM: uImage: require passing a LOADADDR when building with RUNTIME_PHYSOFFSET > > arch/arm/Kconfig | 105 +++++++++++++++++++++++++++++++ > arch/arm/boot/Makefile | 14 +++-- > arch/arm/boot/compressed/Makefile | 11 +--- > arch/arm/boot/compressed/Makefile.debug | 23 ------- > arch/arm/boot/compressed/head.S | 40 +++++++++--- > arch/arm/boot/compressed/misc.c | 20 ------ > arch/arm/kernel/Makefile | 4 +- > arch/arm/kernel/compat.c | 7 -- > arch/arm/kernel/compat.h | 2 - > arch/arm/kernel/setup.c | 11 +++ > 10 files changed, 157 insertions(+), 80 deletions(-) > delete mode 100644 arch/arm/boot/compressed/Makefile.debug > -- > Pengutronix e.K. | Uwe Kleine-K?nig | > Industrial Linux Solutions | http://www.pengutronix.de/ | > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 0 siblings, 1 reply; 138+ messages in thread From: Nicolas Pitre @ 2010-07-07 15:54 UTC (permalink / raw) To: linux-arm-kernel On Wed, 7 Jul 2010, Uwe Kleine-K?nig wrote: > Hi Russell, > > On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: > > this series is a merge between Eric's and my patches that we did to > > clean up the early boot code. It doesn't contain runtime physoffset > > support for now, but I plan to pick that up later. > > I added Nicolas' Acks to my tree and dropped the one patch he objected. > > Are you willing to pull these now? FWIW, I'm fine with Russell pulling this into his tree for the next merge window. Maybe you could just resend an official pull request with the updated info. I'll include it in the Linaro consolidation tree in the mean time if you don't mind. Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 2010-07-07 15:54 ` Nicolas Pitre @ 2010-07-08 7:08 ` Uwe Kleine-König 2010-07-08 20:49 ` Nicolas Pitre ` (2 more replies) 0 siblings, 3 replies; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-08 7:08 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Wed, Jul 07, 2010 at 11:54:14AM -0400, Nicolas Pitre wrote: > On Wed, 7 Jul 2010, Uwe Kleine-K?nig wrote: > > On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: > > > this series is a merge between Eric's and my patches that we did to > > > clean up the early boot code. It doesn't contain runtime physoffset > > > support for now, but I plan to pick that up later. > > > > I added Nicolas' Acks to my tree and dropped the one patch he objected. > > > > Are you willing to pull these now? > > FWIW, I'm fine with Russell pulling this into his tree for the next > merge window. Maybe you could just resend an official pull request with > the updated info. OK, I thought it similar enough to the original request, but if it helps I can do that: The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) are available in the git repository at: git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting Eric Miao (2): ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed Auto calculate ZRELADDR and provide option for exceptions Uwe Kleine-K?nig (8): ARM: zImage: don't hard code the stack size twice ARM: zImage: some comments for __armv3_mpu_cache_on ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush ARM: zImage: annotate debug functions about corrupted registers ARM: remove bit-rotten STANDALONE_DEBUG for decompressor ARM: zImage: don't define unused symbol initrd_phys ARM: deprecate support for old way to pass kernel parameters arch/arm/Kconfig | 105 +++++++++++++++++++++++++++++++ arch/arm/boot/Makefile | 8 +-- arch/arm/boot/compressed/Makefile | 11 +--- arch/arm/boot/compressed/Makefile.debug | 23 ------- arch/arm/boot/compressed/head.S | 40 +++++++++--- arch/arm/boot/compressed/misc.c | 20 ------ arch/arm/kernel/Makefile | 4 +- arch/arm/kernel/compat.c | 7 -- arch/arm/kernel/compat.h | 2 - arch/arm/kernel/setup.c | 11 +++ 10 files changed, 152 insertions(+), 79 deletions(-) delete mode 100644 arch/arm/boot/compressed/Makefile.debug Russell, can you please pull this for the next merge window? > I'll include it in the Linaro consolidation tree in > the mean time if you don't mind. I don't know what the "Linaro consolidation tree" is, but I'm sure that even if I minded I couldn't stop you to take it. :-) Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 2 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-07-08 20:49 UTC (permalink / raw) To: linux-arm-kernel On Thu, 8 Jul 2010, Uwe Kleine-K?nig wrote: > > I'll include it in the Linaro consolidation tree in > > the mean time if you don't mind. > I don't know what the "Linaro consolidation tree" is, but I'm sure that > even if I minded I couldn't stop you to take it. :-) I think it is good courtesy to ask. FYI: Linaro is http://www.linaro.org. The consolidation tree is described here: https://wiki.ubuntu.com/Specs/M/ARMKernelVersionAlignment And the result can be found here: http://git.linaro.org/gitweb?p=linux/arm_next.git;a=summary Nicolas ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 2 siblings, 0 replies; 138+ messages in thread From: Eric Miao @ 2010-07-10 9:16 UTC (permalink / raw) To: linux-arm-kernel 2010/7/8 Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>: > Hello Russell, > > On Wed, Jul 07, 2010 at 11:54:14AM -0400, Nicolas Pitre wrote: >> On Wed, 7 Jul 2010, Uwe Kleine-K?nig wrote: >> > On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: >> > > this series is a merge between Eric's and my patches that we did to >> > > clean up the early boot code. ?It doesn't contain runtime physoffset >> > > support for now, but I plan to pick that up later. >> > >> > I added Nicolas' Acks to my tree and dropped the one patch he objected. >> > >> > Are you willing to pull these now? >> >> FWIW, I'm fine with Russell pulling this into his tree for the next >> merge window. ?Maybe you could just resend an official pull request with >> the updated info. > OK, I thought it similar enough to the original request, but if it helps > I can do that: > > The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: > > ?Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) > > are available in the git repository at: > ?git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting > > Eric Miao (2): > ? ? ?ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed > ? ? ?Auto calculate ZRELADDR and provide option for exceptions This seems to miss the "ARM:" prefix, though a small issue. > > Uwe Kleine-K?nig (8): > ? ? ?ARM: zImage: don't hard code the stack size twice > ? ? ?ARM: zImage: some comments for __armv3_mpu_cache_on > ? ? ?ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification > ? ? ?ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush > ? ? ?ARM: zImage: annotate debug functions about corrupted registers > ? ? ?ARM: remove bit-rotten STANDALONE_DEBUG for decompressor > ? ? ?ARM: zImage: don't define unused symbol initrd_phys > ? ? ?ARM: deprecate support for old way to pass kernel parameters > > ?arch/arm/Kconfig ? ? ? ? ? ? ? ? ? ? ? ?| ?105 +++++++++++++++++++++++++++++++ > ?arch/arm/boot/Makefile ? ? ? ? ? ? ? ? ?| ? ?8 +-- > ?arch/arm/boot/compressed/Makefile ? ? ? | ? 11 +--- > ?arch/arm/boot/compressed/Makefile.debug | ? 23 ------- > ?arch/arm/boot/compressed/head.S ? ? ? ? | ? 40 +++++++++--- > ?arch/arm/boot/compressed/misc.c ? ? ? ? | ? 20 ------ > ?arch/arm/kernel/Makefile ? ? ? ? ? ? ? ?| ? ?4 +- > ?arch/arm/kernel/compat.c ? ? ? ? ? ? ? ?| ? ?7 -- > ?arch/arm/kernel/compat.h ? ? ? ? ? ? ? ?| ? ?2 - > ?arch/arm/kernel/setup.c ? ? ? ? ? ? ? ? | ? 11 +++ > ?10 files changed, 152 insertions(+), 79 deletions(-) > ?delete mode 100644 arch/arm/boot/compressed/Makefile.debug > > Russell, can you please pull this for the next merge window? > >> ? ? ? ? ? ? ? ? ? ?I'll include it in the Linaro consolidation tree in >> the mean time if you don't mind. > I don't know what the "Linaro consolidation tree" is, but I'm sure that > even if I minded I couldn't stop you to take it. :-) > > Best regards > Uwe > > -- > Pengutronix e.K. ? ? ? ? ? ? ? ? ? ? ? ? ? | Uwe Kleine-K?nig ? ? ? ? ? ?| > Industrial Linux Solutions ? ? ? ? ? ? ? ? | http://www.pengutronix.de/ ?| > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel at lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > ^ permalink raw reply [flat|nested] 138+ messages in thread
* [PATCH 0/5] Makefile.boot cleanup 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 2 siblings, 1 reply; 138+ messages in thread From: Uwe Kleine-König @ 2010-07-21 8:20 UTC (permalink / raw) To: linux-arm-kernel Hello Russell, On Thu, Jul 08, 2010 at 09:08:26AM +0200, Uwe Kleine-K?nig wrote: > On Wed, Jul 07, 2010 at 11:54:14AM -0400, Nicolas Pitre wrote: > > On Wed, 7 Jul 2010, Uwe Kleine-K?nig wrote: > > > On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: > > > > this series is a merge between Eric's and my patches that we did to > > > > clean up the early boot code. It doesn't contain runtime physoffset > > > > support for now, but I plan to pick that up later. > > > > > > I added Nicolas' Acks to my tree and dropped the one patch he objected. > > > > > > Are you willing to pull these now? > > > > FWIW, I'm fine with Russell pulling this into his tree for the next > > merge window. Maybe you could just resend an official pull request with > > the updated info. > OK, I thought it similar enough to the original request, but if it helps > I can do that: > > The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: > > Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) > > are available in the git repository at: > git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting > > Eric Miao (2): > ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed > Auto calculate ZRELADDR and provide option for exceptions > > Uwe Kleine-K?nig (8): > ARM: zImage: don't hard code the stack size twice > ARM: zImage: some comments for __armv3_mpu_cache_on > ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification > ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush > ARM: zImage: annotate debug functions about corrupted registers > ARM: remove bit-rotten STANDALONE_DEBUG for decompressor > ARM: zImage: don't define unused symbol initrd_phys > ARM: deprecate support for old way to pass kernel parameters I added an ARM: prefix to Eric's second commit, other than that the branch is unchanged. Do you pull for .36-rc1? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 138+ messages in thread
* Git pull request, was Re: [PATCH 0/5] Makefile.boot cleanup 2010-07-21 8:20 ` Uwe Kleine-König @ 2010-07-29 16:17 ` Nicolas Pitre 0 siblings, 0 replies; 138+ messages in thread From: Nicolas Pitre @ 2010-07-29 16:17 UTC (permalink / raw) To: linux-arm-kernel Russell, Could you pull the above for the upcoming merge window please? We've got a couple patches depending on this and that would simplify things if this was merged into mainline. On Wed, 21 Jul 2010, Uwe Kleine-K?nig wrote: > Hello Russell, > > On Thu, Jul 08, 2010 at 09:08:26AM +0200, Uwe Kleine-K?nig wrote: > > On Wed, Jul 07, 2010 at 11:54:14AM -0400, Nicolas Pitre wrote: > > > On Wed, 7 Jul 2010, Uwe Kleine-K?nig wrote: > > > > On Mon, Jul 05, 2010 at 04:13:44PM +0200, Uwe Kleine-K?nig wrote: > > > > > this series is a merge between Eric's and my patches that we did to > > > > > clean up the early boot code. It doesn't contain runtime physoffset > > > > > support for now, but I plan to pick that up later. > > > > > > > > I added Nicolas' Acks to my tree and dropped the one patch he objected. > > > > > > > > Are you willing to pull these now? > > > > > > FWIW, I'm fine with Russell pulling this into his tree for the next > > > merge window. Maybe you could just resend an official pull request with > > > the updated info. > > OK, I thought it similar enough to the original request, but if it helps > > I can do that: > > > > The following changes since commit 7e27d6e778cd87b6f2415515d7127eba53fe5d02: > > > > Linux 2.6.35-rc3 (2010-06-11 19:14:04 -0700) > > > > are available in the git repository at: > > git://git.pengutronix.de/git/ukl/linux-2.6.git arm/booting > > > > Eric Miao (2): > > ARM: Remove unused PARAMS_PHYS from arch/arm/boot/compressed > > Auto calculate ZRELADDR and provide option for exceptions > > > > Uwe Kleine-K?nig (8): > > ARM: zImage: don't hard code the stack size twice > > ARM: zImage: some comments for __armv3_mpu_cache_on > > ARM: zImage: __armv3_mpu_cache_flush: respect should-be-zero specification > > ARM: zImage: fix comments for cache_on, cache_off and cache_clean_flush > > ARM: zImage: annotate debug functions about corrupted registers > > ARM: remove bit-rotten STANDALONE_DEBUG for decompressor > > ARM: zImage: don't define unused symbol initrd_phys > > ARM: deprecate support for old way to pass kernel parameters > I added an ARM: prefix to Eric's second commit, other than that the > branch is unchanged. Do you pull for .36-rc1? > > Best regards > Uwe > > -- > Pengutronix e.K. | Uwe Kleine-K?nig | > Industrial Linux Solutions | http://www.pengutronix.de/ | > ^ permalink raw reply [flat|nested] 138+ messages in thread
end of thread, other threads:[~2010-09-14 12:23 UTC | newest] Thread overview: 138+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 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 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 2010-09-03 9:56 ` Uwe Kleine-König 2010-09-03 13:39 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to Eric Miao 2010-09-03 13:39 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr Eric Miao 2010-09-03 18:53 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to 2010-09-03 18:53 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr Uwe Kleine-König 2010-09-14 8:08 ` Paul Mundt 2010-09-14 8:08 ` Paul Mundt 2010-09-14 12:23 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to 2010-09-14 12:23 ` [PATCH 2/7] [RFC] ARM: shmobile: remove unneeded hack to calculate zreladdr 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
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.