From: "Eugene (jno) Dvurechenski" <j...@linux.vnet.ibm.com>
Experiments showed possibility of few more "misconfigurations" in disk layout. They are reported now. Acked-by: Cornelia Huck <cornelia.h...@de.ibm.com> Reviewed-by: David Hildenbrand <d...@linux.vnet.ibm.com> Signed-off-by: Eugene (jno) Dvurechenski <j...@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.h...@de.ibm.com> --- pc-bios/s390-ccw/bootmap.c | 4 ++++ pc-bios/s390-ccw/bootmap.h | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index 4925302..ca60c33 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -415,7 +415,11 @@ static void ipl_scsi(void) /* The 0-th block (MBR) was already read into sec[] */ sclp_print("Using SCSI scheme.\n"); + debug_print_int("MBR Version", mbr->version_id); + IPL_check(mbr->version_id == 1, + "Unknown MBR layout version, assuming version 1"); debug_print_int("program table", mbr->blockptr.blockno); + IPL_assert(mbr->blockptr.blockno, "No Program Table"); /* Parse the program table */ read_block(mbr->blockptr.blockno, sec, diff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h index f98765b..07e3b20 100644 --- a/pc-bios/s390-ccw/bootmap.h +++ b/pc-bios/s390-ccw/bootmap.h @@ -273,6 +273,15 @@ static inline void IPL_assert(bool term, const char *message) } } +static inline void IPL_check(bool term, const char *message) +{ + if (!term) { + sclp_print("\n! WARNING: "); + sclp_print(message); + sclp_print(" !\n"); + } +} + static const unsigned char ebc2asc[256] = /* 0123456789abcdef0123456789abcdef */ "................................" /* 1F */ -- 2.7.4