OriginalAuthor: Mike Kasick <[email protected]> This is to speed-up booting if this kernel is booted using kexec-hardboot[1]. Without this patch, decompressor is very slow to decompress, because it is located far above the kernel destination.
Ported from Jens Andersen <[email protected]>'s kernel for Asus TF201 [2]. [1] Hardboot: http://forum.xda-developers.com/showthread.php?t=1266827 [2] Original repository: http://git.io/EXpn2A Signed-off-by: Vojtech Bocek <[email protected]> --- arch/arm/boot/compressed/head.S | 6 ++++++ arch/arm/mach-tegra/include/mach/memory.h | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 5773670..99fa555 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -9,6 +9,7 @@ * published by the Free Software Foundation. */ #include <linux/linkage.h> +#include <asm/memory.h> /* * Debugging stuff @@ -509,9 +510,14 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size * bits for the RAM area only. */ mov r0, r3 +#if defined(PLAT_PHYS_OFFSET) && defined(END_MEM) + mov r9, #PLAT_PHYS_OFFSET @ start of RAM + ldr r10, =END_MEM @ end of RAM +#else mov r9, r0, lsr #18 mov r9, r9, lsl #18 @ start of RAM add r10, r9, #0x10000000 @ a reasonable RAM size +#endif mov r1, #0x12 orr r1, r1, #3 << 10 add r2, r3, #16384 diff --git a/arch/arm/mach-tegra/include/mach/memory.h b/arch/arm/mach-tegra/include/mach/memory.h index 5f51066..c243a32 100644 --- a/arch/arm/mach-tegra/include/mach/memory.h +++ b/arch/arm/mach-tegra/include/mach/memory.h @@ -29,6 +29,10 @@ #define PLAT_PHYS_OFFSET UL(0x80000000) #endif +#if defined(CONFIG_MACH_GROUPER) +#define END_MEM UL(0xBEA00000) +#endif + /* * Unaligned DMA causes tegra dma to place data on 4-byte boundary after * expected address. Call to skb_reserve(skb, NET_IP_ALIGN) was causing skb -- 1.7.10.4 -- Mailing list: https://launchpad.net/~ubuntu-phone Post to : [email protected] Unsubscribe : https://launchpad.net/~ubuntu-phone More help : https://help.launchpad.net/ListHelp

