diff options
author | Eugene (jno) Dvurechenski <jno@linux.vnet.ibm.com> | 2014-08-29 11:01:38 +0200 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-09-01 09:23:02 +0200 |
commit | b0885f7599739ed1d7002774f9be2ba1f8212cc7 (patch) | |
tree | bcc4af9d98e5dc4ff5bb0d6b662e77ed3bd4c72b /pc-bios/s390-ccw | |
parent | 00a47e7e71a2fbceb4ec565593738b0b3f06a42b (diff) | |
download | qemu-b0885f7599739ed1d7002774f9be2ba1f8212cc7.zip qemu-b0885f7599739ed1d7002774f9be2ba1f8212cc7.tar.gz qemu-b0885f7599739ed1d7002774f9be2ba1f8212cc7.tar.bz2 |
pc-bios/s390-ccw Improve ECKD informational message
Add block size display to ECKD scheme report.
Signed-off-by: Eugene (jno) Dvurechenski <jno@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'pc-bios/s390-ccw')
-rw-r--r-- | pc-bios/s390-ccw/bootmap.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index f175679..e4352b1 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -298,6 +298,25 @@ static void ipl_eckd(ECKD_IPL_mode_t mode) } } +static void print_eckd_msg(void) +{ + char msg[] = "Using ECKD scheme (block size *****), "; + char *p = &msg[34], *q = &msg[30]; + int n = virtio_get_block_size(); + + /* Fill in the block size and show up the message */ + if (n > 0 && n <= 99999) { + while (n) { + *p-- = '0' + (n % 10); + n /= 10; + } + while (p >= q) { + *p-- = ' '; + } + } + sclp_print(msg); +} + /*********************************************************************** * IPL a SCSI disk */ @@ -447,12 +466,11 @@ void zipl_load(void) } /* We have failed to follow the SCSI scheme, so */ - sclp_print("Using ECKD scheme.\n"); if (virtio_guessed_disk_nature()) { sclp_print("Using guessed DASD geometry.\n"); virtio_assume_eckd(); } - + print_eckd_msg(); if (magic_match(mbr->magic, IPL1_MAGIC)) { ipl_eckd(ECKD_CDL); /* no return */ } |