On 01/29/2019 08:29 AM, Jason J. Herne wrote:
Move channel i/o setup code out to a separate function. This decouples cio
setup from the virtio code path and allows us to make use of it for booting
dasd devices.

Signed-off-by: Jason J. Herne <jjhe...@linux.ibm.com>
Acked-by: Halil Pasic <pa...@linux.vnet.ibm.com>
Reviewed-by: Collin Walling <wall...@linux.ibm.com>
---
  pc-bios/s390-ccw/main.c | 20 +++++++++++++-------
  1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 544851d..e82fe2c 100644
--- a/pc-bios/s390-ccw/main.c
+++ b/pc-bios/s390-ccw/main.c
@@ -99,6 +99,18 @@ static void menu_setup(void)
      }
  }
+/*
+ * Initialize the channel I/O subsystem so we can talk to our ipl/boot device.
+ */
+static void css_setup(void)
+{
+    /*
+     * Unconditionally enable mss support. In every sane configuration this
+     * will succeed; and even if it doesn't, stsch_err() can handle it.
+     */
+    enable_mss_facility();
+}
+
  static void virtio_setup(void)
  {
      Schib schib;
@@ -109,13 +121,6 @@ static void virtio_setup(void)
      VDev *vdev = virtio_get_device();
      QemuIplParameters *early_qipl = (QemuIplParameters *)QIPL_ADDRESS;
- /*
-     * We unconditionally enable mss support. In every sane configuration,
-     * this will succeed; and even if it doesn't, stsch_err() can deal
-     * with the consequences.
-     */
-    enable_mss_facility();
-
      sclp_get_loadparm_ascii(loadparm_str);
      memcpy(ldp + 10, loadparm_str, LOADPARM_LEN);
      sclp_print(ldp);
@@ -168,6 +173,7 @@ static void virtio_setup(void)
  int main(void)
  {
      sclp_setup();
+    css_setup();
      virtio_setup();
zipl_load(); /* no return */

Reviewed-by: Farhan Ali <al...@linux.ibm.com>


Reply via email to