[PATCH] pc-bios/s390x: Initialize machine loadparm before probing IPL devices

jrossi@linux.ibm.com posted 1 patch 1 week, 1 day ago
pc-bios/s390-ccw/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] pc-bios/s390x: Initialize machine loadparm before probing IPL devices
Posted by jrossi@linux.ibm.com 1 week, 1 day ago
From: Jared Rossi <jrossi@linux.ibm.com>

Commit bb185de423 ("s390x: Add individual loadparm assignment to
CCW device") allowed boot devices to be assigned a loadparm value independent
of the machine value, however, when no boot devices are defined, the machine
loadparm becomes ignored. Therefore, let's check the machine loadparm
prior to probing the devices.

Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
---
 pc-bios/s390-ccw/main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index a4d1c05aac..a6cc6d7906 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -191,7 +191,7 @@ static void boot_setup(void)
 {
     char lpmsg[] = "LOADPARM=[________]\n";
 
-    if (memcmp(iplb.loadparm, NO_LOADPARM, LOADPARM_LEN) != 0) {
+    if (have_iplb && memcmp(iplb.loadparm, NO_LOADPARM, LOADPARM_LEN) != 0) {
         ebcdic_to_ascii((char *) iplb.loadparm, loadparm_str, LOADPARM_LEN);
     } else {
         sclp_get_loadparm_ascii(loadparm_str);
@@ -315,6 +315,7 @@ void main(void)
     css_setup();
     have_iplb = store_iplb(&iplb);
     if (!have_iplb) {
+        boot_setup();
         probe_boot_device();
     }
 
-- 
2.45.1
Re: [PATCH] pc-bios/s390x: Initialize machine loadparm before probing IPL devices
Posted by Thomas Huth 1 week, 1 day ago
On 14/11/2024 17.19, jrossi@linux.ibm.com wrote:
> From: Jared Rossi <jrossi@linux.ibm.com>
> 
> Commit bb185de423 ("s390x: Add individual loadparm assignment to
> CCW device") allowed boot devices to be assigned a loadparm value independent
> of the machine value, however, when no boot devices are defined, the machine
> loadparm becomes ignored. Therefore, let's check the machine loadparm
> prior to probing the devices.
> 
> Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
> ---
>   pc-bios/s390-ccw/main.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
> index a4d1c05aac..a6cc6d7906 100644
> --- a/pc-bios/s390-ccw/main.c
> +++ b/pc-bios/s390-ccw/main.c
> @@ -191,7 +191,7 @@ static void boot_setup(void)
>   {
>       char lpmsg[] = "LOADPARM=[________]\n";
>   
> -    if (memcmp(iplb.loadparm, NO_LOADPARM, LOADPARM_LEN) != 0) {
> +    if (have_iplb && memcmp(iplb.loadparm, NO_LOADPARM, LOADPARM_LEN) != 0) {
>           ebcdic_to_ascii((char *) iplb.loadparm, loadparm_str, LOADPARM_LEN);
>       } else {
>           sclp_get_loadparm_ascii(loadparm_str);
> @@ -315,6 +315,7 @@ void main(void)
>       css_setup();
>       have_iplb = store_iplb(&iplb);
>       if (!have_iplb) {
> +        boot_setup();
>           probe_boot_device();
>       }
>   

Reviewed-by: Thomas Huth <thuth@redhat.com>