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 <jjherne@linux.ibm.com>
> Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com>
> Reviewed-by: Collin Walling <walling@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 <alifm@linux.ibm.com>