This patch enables AUTO_ZRELADDR as default config to Realview platform.
AUTO_ZRELADDR config enables auto calculation of the decompressed kernel image address. AUTO_ZRELADDR config is mutually exclusive to ZBOOT_ROM, and also assumes zImage to be loaded in the first 128MiB from start of memory.
CFT::Call For Testing
Requesting maintainers of Realview platforms to evaluate the changes on the board and comment, as I dont have the board for testing, and also requesting an ACK.
Signed-off-by: panchaxari panchaxari.prasannamurthy@linaro.org Cc: Will Deacon will.deacon@arm.com Cc: Pawel Moll Pawel.Moll@arm.com Cc: Russell King linux@arm.linux.org.uk Cc: Rob Herring rob.herring@calxeda.com Cc: Viresh Kumar viresh.linux@gmail.com Cc: Shawn Guo shawn.guo@linaro.org Cc: Olof Johansson olof@lixom.net Cc: Linus Walleij linus.walleij@linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org
--- Below lkml link is a quoting by Russell, which explains more on concept of PHYS_VIRT and ZRELADDR -------------------------------------------------
https://lkml.org/lkml/2011/10/14/434
------------------------------------------------- --- arch/arm/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3dfc3b8..077ef9d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -332,6 +332,7 @@ config ARCH_REALVIEW select ARCH_WANT_OPTIONAL_GPIOLIB select ARM_AMBA select ARM_TIMER_SP804 + select AUTO_ZRELADDR select COMMON_CLK select COMMON_CLK_VERSATILE select GENERIC_CLOCKEVENTS
On Thu, Jan 09, 2014 at 10:14:14AM +0530, panchaxari wrote:
Below lkml link is a quoting by Russell, which explains more on concept of PHYS_VIRT and ZRELADDR
https://lkml.org/lkml/2011/10/14/434
Okay, so you're just going around changing stuff, basing it on an old mail, and not testing the results of it. Stop this please.
Note that the result of the above email was this:
commit c1becedc8871645278832fabdc6fe138082a495b Author: Russell King rmk+kernel@arm.linux.org.uk Date: Wed Aug 10 10:23:45 2011 +0100
ARM: enable ARM_PATCH_PHYS_VIRT by default
Enable virtual to physical translation patching by default in all kernels. Hide the option behind EMBEDDED.
This can still be turned off if people desire, and they know what they're doing, to shrink the size of the kernel to a minimum.
Acked-by: Will Deacon will.deacon@arm.com Signed-off-by: Russell King rmk+kernel@arm.linux.org.uk
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5ebc5d922ea1..8882a535cf44 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -195,7 +195,8 @@ config VECTORS_BASE The base address of exception vectors.
config ARM_PATCH_PHYS_VIRT - bool "Patch physical to virtual translations at runtime" + bool "Patch physical to virtual translations at runtime" if EMBEDDED + default y depends on !XIP_KERNEL && MMU depends on !ARCH_REALVIEW || !SPARSEMEM help @@ -207,6 +208,10 @@ config ARM_PATCH_PHYS_VIRT of physical memory is at a 16MB boundary, or theoretically 64K for the MSM machine class.
+ Only disable this option if you know that you do not require + this feature (eg, building a kernel for a single machine) and + you need to shrink the kernel to the minimal size.
which means that ARM_PATCH_PHYS_VIRT is enabled for virtually everything unless you decide that you want to enable EMBEDDED mode, in which case you get the chance to manually disable it.
In fact, all those select ARM_PATCH_PHYS_VIRT are wrong, and add reverse dependencies that make maintanence of the Kconfig harder. I'd rather kill all those select statements rather than introduce yet more of them.
Hence, all your recent patches adding "select ARM_PATCH_PHYS_VIRT" I say a very strong NAK to.
linaro-kernel@lists.linaro.org