ARM: add malloc size to decompressor kexec size structure
authorRussell King <rmk+kernel@armlinux.org.uk>
Thu, 6 Aug 2020 09:32:33 +0000 (10:32 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 15 Sep 2020 13:36:26 +0000 (14:36 +0100)
Add the required malloc size to the decompressor kexec size structure.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/boot/compressed/Makefile
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/vmlinux.lds.S

index dacadab2ff17ded452fd67cddc772ea26f513099..097d845692d2d05125ad5af59afa580b706fce77 100644 (file)
@@ -7,7 +7,6 @@
 
 OBJS           =
 
-AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET)
 HEAD   = head.o
 OBJS   += misc.o decompress.o
 ifeq ($(CONFIG_DEBUG_UNCOMPRESS),y)
@@ -69,8 +68,12 @@ ZTEXTADDR    := 0
 ZBSSADDR       := ALIGN(8)
 endif
 
+MALLOC_SIZE    := 65536
+
+AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET) -DMALLOC_SIZE=$(MALLOC_SIZE)
 CPPFLAGS_vmlinux.lds := -DTEXT_START="$(ZTEXTADDR)" -DBSS_START="$(ZBSSADDR)"
 CPPFLAGS_vmlinux.lds += -DTEXT_OFFSET="$(TEXT_OFFSET)"
+CPPFLAGS_vmlinux.lds += -DMALLOC_SIZE="$(MALLOC_SIZE)"
 
 compress-$(CONFIG_KERNEL_GZIP) = gzip
 compress-$(CONFIG_KERNEL_LZO)  = lzo
index 84a6d828e6d6b09a7ff224954465341575eb5f90..2e04ec5b54469b661187ff4c0619c24992e26b79 100644 (file)
@@ -298,7 +298,7 @@ restart:    adr     r0, LC1
 
 #ifndef CONFIG_ZBOOT_ROM
                /* malloc space is above the relocated stack (64k max) */
-               add     r10, sp, #0x10000
+               add     r10, sp, #MALLOC_SIZE
 #else
                /*
                 * With ZBOOT_ROM the bss/stack is non relocatable,
@@ -610,7 +610,7 @@ not_relocated:      mov     r0, #0
  */
                mov     r0, r4
                mov     r1, sp                  @ malloc space above stack
-               add     r2, sp, #0x10000        @ 64k max
+               add     r2, sp, #MALLOC_SIZE    @ 64k max
                mov     r3, r7
                bl      decompress_kernel
 
index da1f6fa5345b46d5d36b9dbbd1abed0830f454cf..0ed4d82d3782c16d71fa618f6590ad4566762123 100644 (file)
@@ -42,11 +42,12 @@ SECTIONS
   }
   .table : ALIGN(4) {
     _table_start = .;
-    LONG(ZIMAGE_MAGIC(5))
+    LONG(ZIMAGE_MAGIC(6))
     LONG(ZIMAGE_MAGIC(0x5a534c4b))
     LONG(ZIMAGE_MAGIC(__piggy_size_addr - _start))
     LONG(ZIMAGE_MAGIC(_kernel_bss_size))
     LONG(ZIMAGE_MAGIC(TEXT_OFFSET))
+    LONG(ZIMAGE_MAGIC(MALLOC_SIZE))
     LONG(0)
     _table_end = .;
   }