Browse Source

s390/setup: do not reserve the decompressor code

Introduce PARMAREA_END, and use it for memblock reserve of low
memory, which is used for lowcore, kdump data mover code and page
buffer, early stack and parmarea. There is no need to reserve an
area between PARMAREA_END and the decompressor _ehead.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Vasily Gorbik 7 năm trước cách đây
mục cha
commit
514211f542

+ 1 - 0
arch/s390/include/asm/setup.h

@@ -11,6 +11,7 @@
 
 
 
 
 #define PARMAREA		0x10400
 #define PARMAREA		0x10400
+#define PARMAREA_END		0x11000
 
 
 /*
 /*
  * Machine features detected in early.c
  * Machine features detected in early.c

+ 2 - 2
arch/s390/kernel/setup.c

@@ -674,12 +674,12 @@ static void __init reserve_kernel(void)
 #ifdef CONFIG_DMA_API_DEBUG
 #ifdef CONFIG_DMA_API_DEBUG
 	/*
 	/*
 	 * DMA_API_DEBUG code stumbles over addresses from the
 	 * DMA_API_DEBUG code stumbles over addresses from the
-	 * range [_ehead, _stext]. Mark the memory as reserved
+	 * range [PARMAREA_END, _stext]. Mark the memory as reserved
 	 * so it is not used for CONFIG_DMA_API_DEBUG=y.
 	 * so it is not used for CONFIG_DMA_API_DEBUG=y.
 	 */
 	 */
 	memblock_reserve(0, PFN_PHYS(start_pfn));
 	memblock_reserve(0, PFN_PHYS(start_pfn));
 #else
 #else
-	memblock_reserve(0, (unsigned long)_ehead);
+	memblock_reserve(0, PARMAREA_END);
 	memblock_reserve((unsigned long)_stext, PFN_PHYS(start_pfn)
 	memblock_reserve((unsigned long)_stext, PFN_PHYS(start_pfn)
 			 - (unsigned long)_stext);
 			 - (unsigned long)_stext);
 #endif
 #endif