mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
zipl: rename COMMAND_LINE_SIZE to LEGACY_COMMAND_LINE_SIZE
Preparation to support command lines that are longer than 896 bytes. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Reviewed-by: Marc Hartmayer <mhartmay@linux.ibm.com> Reviewed-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
a5c04e5746
commit
8b3d3dd4bd
@@ -42,7 +42,7 @@ void __noreturn start(void)
|
||||
if (kernel->size < IMAGE_LOAD_ADDRESS)
|
||||
panic(EINTERNAL, "Invalid kernel\n");
|
||||
|
||||
if (cmdline->size > COMMAND_LINE_SIZE)
|
||||
if (cmdline->size > LEGACY_COMMAND_LINE_SIZE)
|
||||
panic(EINTERNAL, "Command line is too large\n");
|
||||
|
||||
/* move the kernel and cut the kernel header */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define COMMAND_LINE _AC(0x10480, UL)
|
||||
|
||||
/* Parameter sizes */
|
||||
#define COMMAND_LINE_SIZE 896
|
||||
#define LEGACY_COMMAND_LINE_SIZE 896
|
||||
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
@@ -188,7 +188,7 @@ boot:
|
||||
|
||||
/* append 'BOOT_IMAGE=<num>' to parmline */
|
||||
snprintf(endstring, sizeof(endstring), " BOOT_IMAGE=%u", value);
|
||||
if ((strlen(cmd_line_extra) + strlen(endstring)) < COMMAND_LINE_SIZE)
|
||||
if ((strlen(cmd_line_extra) + strlen(endstring)) < LEGACY_COMMAND_LINE_SIZE)
|
||||
strcat(cmd_line_extra, endstring);
|
||||
|
||||
sclp_setup(SCLP_DISABLE);
|
||||
|
||||
@@ -282,7 +282,7 @@ void process_parm_line(struct env_hash_entry **buckets, unsigned int cmdl_len)
|
||||
*/
|
||||
len = strlen(val);
|
||||
|
||||
if (cmdl_len + len - (end - start + 1) >= COMMAND_LINE_SIZE)
|
||||
if (cmdl_len + len - (end - start + 1) >= LEGACY_COMMAND_LINE_SIZE)
|
||||
/* VALUE doesn't fit */
|
||||
break;
|
||||
/*
|
||||
@@ -354,10 +354,10 @@ static void setup_cmdline(void)
|
||||
/* if valid command line is given, copy it into new kernel space */
|
||||
if (_stage3_parms.parm_addr != UNSPECIFIED_ADDRESS) {
|
||||
strlcpy(cmdline, (void *)(unsigned long *)_stage3_parms.parm_addr,
|
||||
COMMAND_LINE_SIZE);
|
||||
LEGACY_COMMAND_LINE_SIZE);
|
||||
}
|
||||
/* determine length of original parm line */
|
||||
cmdline_len = MIN(strlen(cmdline), COMMAND_LINE_SIZE - 1);
|
||||
cmdline_len = MIN(strlen(cmdline), LEGACY_COMMAND_LINE_SIZE - 1);
|
||||
|
||||
/* convert extra parameter to ascii */
|
||||
if (!_stage3_parms.extra_parm || !*cextra)
|
||||
@@ -374,11 +374,11 @@ static void setup_cmdline(void)
|
||||
* else append
|
||||
*/
|
||||
if (*cextra == 0x3d) {
|
||||
strlcpy(cmdline, cextra+1, COMMAND_LINE_SIZE);
|
||||
} else if (*cextra && cmdline_len + 1 <= COMMAND_LINE_SIZE - 1) {
|
||||
strlcpy(cmdline, cextra+1, LEGACY_COMMAND_LINE_SIZE);
|
||||
} else if (*cextra && cmdline_len + 1 <= LEGACY_COMMAND_LINE_SIZE - 1) {
|
||||
/* add blank */
|
||||
cmdline[cmdline_len++] = 0x20;
|
||||
strlcpy(cmdline + cmdline_len, cextra, COMMAND_LINE_SIZE - cmdline_len);
|
||||
strlcpy(cmdline + cmdline_len, cextra, LEGACY_COMMAND_LINE_SIZE - cmdline_len);
|
||||
}
|
||||
|
||||
noextra:
|
||||
|
||||
@@ -236,9 +236,9 @@ iplstart:
|
||||
clc 0(3,%r4),.L_eof # if it is EOFx
|
||||
bz .Lagain1 # skip dateset trailer
|
||||
|
||||
chi %r2,COMMAND_LINE_SIZE-1 # truncate if line too long
|
||||
chi %r2,LEGACY_COMMAND_LINE_SIZE-1 # truncate if line too long
|
||||
bnh .Lnotrunc
|
||||
la %r2,COMMAND_LINE_SIZE-1
|
||||
la %r2,LEGACY_COMMAND_LINE_SIZE-1
|
||||
.Lnotrunc:
|
||||
|
||||
la %r5,0(%r4,%r2) # search for EBCDIC chars
|
||||
|
||||
Reference in New Issue
Block a user