mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zipl: do not overwrite BOOT_IMAGE entry
The zipl internal loader adds a variable BOOT_IMAGE= to the commandline so that it is visible in the operating system which menu entry has been chosen. This entry was overwritten by the stage3 parameter page. Fix by re-arranging the internal memory layout and putting the command line extra param, which contains the BOOT_IMAGE entry, at 0xe000. This location is available because less than one page is used for the stack. Fixes: https://github.com/ibm-s390-tools/s390-tools/issues/67 Signed-off-by: Stefan Haberland <sth@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
99ab2db6ad
commit
8bf5f8d0e2
@@ -6,7 +6,7 @@ CFLAGS_BOOT = $(NO_PIE_CFLAGS) -Os -g -I../include -D__ASSEMBLY__ \
|
||||
-fno-builtin -ffreestanding -fno-asynchronous-unwind-tables \
|
||||
-fno-delete-null-pointer-checks \
|
||||
-fexec-charset=IBM1047 -m64 -mpacked-stack \
|
||||
-mstack-size=8192 -mstack-guard=128 -msoft-float \
|
||||
-mstack-size=4096 -mstack-guard=128 -msoft-float \
|
||||
-W -Wall -Wformat-security
|
||||
|
||||
FILES = fba0.bin fba1b.bin fba2.bin \
|
||||
@@ -91,7 +91,7 @@ stage3.bin: stage3.exec
|
||||
--only-section=.stage2dump.tail \
|
||||
--only-section=.eckd2dump_mv.tail \
|
||||
--only-section=.fixup \
|
||||
--pad-to=0xf000 \
|
||||
--pad-to=0xe000 \
|
||||
$< $@
|
||||
|
||||
data.o: $(FILES)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#include "stage2.h"
|
||||
|
||||
/* address of extra command line */
|
||||
#define COMMAND_LINE_EXTRA (0xA000-0x400)
|
||||
#define COMMAND_LINE_EXTRA 0xE000
|
||||
|
||||
/* max command line length */
|
||||
#define COMMAND_LINE_SIZE 896
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
* 0x6000-0x8fff Memory allocation (heap)
|
||||
* 0x9000-0x9fff Memory to load stage3 parameter to
|
||||
* 0xa000-0xdfff Memory to load stage3 to
|
||||
* 0xe000-0xffff Stack
|
||||
* 0xe000-0xe3ff command line extra
|
||||
* 0xe400-0xffff Stack
|
||||
*
|
||||
* Special memory locations
|
||||
* ------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#define OLDMEM_SIZE 0x10420
|
||||
#define COMMAND_LINE 0x10480
|
||||
#define COMMAND_LINE_SIZE 896
|
||||
#define COMMAND_LINE_EXTRA (0xA000-0x400)
|
||||
#define COMMAND_LINE_EXTRA 0xE000
|
||||
|
||||
#define STAGE3_FLAG_SCSI 0x0001000000000000ULL
|
||||
#define STAGE3_FLAG_KDUMP 0x0002000000000000ULL
|
||||
|
||||
Reference in New Issue
Block a user