aboutsummaryrefslogtreecommitdiff
path: root/pc-bios
diff options
context:
space:
mode:
authorEugene (jno) Dvurechenski <jno@linux.vnet.ibm.com>2014-08-29 11:01:38 +0200
committerChristian Borntraeger <borntraeger@de.ibm.com>2014-09-01 09:23:02 +0200
commitb0885f7599739ed1d7002774f9be2ba1f8212cc7 (patch)
treebcc4af9d98e5dc4ff5bb0d6b662e77ed3bd4c72b /pc-bios
parent00a47e7e71a2fbceb4ec565593738b0b3f06a42b (diff)
downloadqemu-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')
-rw-r--r--pc-bios/s390-ccw/bootmap.c22
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 */
}