void ioinst_handle_rsch(S390CPU *cpu, uint64_t reg1)

{

    int cssid, ssid, schid, m;

    SubchDev *sch;

    int ret = -ENODEV;

    int cc;



    if (ioinst_disassemble_sch_ident(reg1, &m, &cssid, &ssid, &schid)) {

        program_interrupt(&cpu->env, PGM_OPERAND, 4);

        return;

    }

    trace_ioinst_sch_id("rsch", cssid, ssid, schid);

    sch = css_find_subch(m, cssid, ssid, schid);

    if (sch && css_subch_visible(sch)) {

        ret = css_do_rsch(sch);

    }

    switch (ret) {

    case -ENODEV:

        cc = 3;

        break;

    case -EINVAL:

        cc = 2;

        break;

    case 0:

        cc = 0;

        break;

    default:

        cc = 1;

        break;

    }

    setcc(cpu, cc);

}

void ioinst_handle_rsch(S390CPU *cpu, uint64_t reg1)

{

    int cssid, ssid, schid, m;

    SubchDev *sch;

    int ret = -ENODEV;

    int cc;



    if (ioinst_disassemble_sch_ident(reg1, &m, &cssid, &ssid, &schid)) {

        program_interrupt(&cpu->env, PGM_OPERAND, 4);

        return;

    }

    trace_ioinst_sch_id("rsch", cssid, ssid, schid);

    sch = css_find_subch(m, cssid, ssid, schid);

    if (sch && css_subch_visible(sch)) {

        ret = css_do_rsch(sch);

    }

    switch (ret) {

    case -ENODEV:

        cc = 3;

        break;

    case -EINVAL:

        cc = 2;

        break;

    case 0:

        cc = 0;

        break;

    default:

        cc = 1;

        break;

    }

    setcc(cpu, cc);

}

    switch (ret) {     case 0:         break;         break;     case -ENODEV:         break;         break;     default:     int ret = -ENODEV;     int cc;     if (sch && css_subch_visible(sch)) {     switch (ret) {     case -ENODEV:         cc = 3;         break;         cc = 2;         break;     case 0:         cc = 0;         break;     default:         cc = 1;         break;     setcc(cpu, cc);     int ret = -ENODEV;     int cc;     if (sch && css_subch_visible(sch)) {         ret = css_do_rsch(sch);     switch (ret) {     case -ENODEV:         cc = 3;         break;     case -EINVAL:         cc = 2;         break;     case 0:         cc = 0;         break;     default:         cc = 1;         break;     setcc(cpu, cc);
void FUNC_0(S390CPU *VAR_0, uint64_t VAR_1)

{

    int VAR_2, VAR_3, VAR_4, VAR_5;

    SubchDev *sch;

    int VAR_6 = -ENODEV;

    int VAR_7;



    if (ioinst_disassemble_sch_ident(VAR_1, &VAR_5, &VAR_2, &VAR_3, &VAR_4)) {

        program_interrupt(&VAR_0->env, PGM_OPERAND, 4);

        return;

    }

    trace_ioinst_sch_id("rsch", VAR_2, VAR_3, VAR_4);

    sch = css_find_subch(VAR_5, VAR_2, VAR_3, VAR_4);

    if (sch && css_subch_visible(sch)) {

        VAR_6 = css_do_rsch(sch);

    }

    switch (VAR_6) {

    case -ENODEV:

        VAR_7 = 3;

        break;

    case -EINVAL:

        VAR_7 = 2;

        break;

    case 0:

        VAR_7 = 0;

        break;

    default:

        VAR_7 = 1;

        break;

    }

    setcc(VAR_0, VAR_7);

}

void FUNC_0(S390CPU *VAR_0, uint64_t VAR_1)
{ int VAR_2, VAR_3, VAR_4, VAR_5; SubchDev *sch; int VAR_6 = -ENODEV; int VAR_7; if (ioinst_disassemble_sch_ident(VAR_1, &VAR_5, &VAR_2, &VAR_3, &VAR_4)) { program_interrupt(&VAR_0->env, PGM_OPERAND, 4); return; } trace_ioinst_sch_id("rsch", VAR_2, VAR_3, VAR_4); sch = css_find_subch(VAR_5, VAR_2, VAR_3, VAR_4); if (sch && css_subch_visible(sch)) { VAR_6 = css_do_rsch(sch); } switch (VAR_6) { case -ENODEV:
VAR_7 = 3; break; case -EINVAL:
VAR_7 = 2; break; case 0:
VAR_7 = 0; break; default:
VAR_7 = 1; break; } setcc(VAR_0, VAR_7); }