static void tcg_handle_interrupt(CPUState *cpu, int mask)

{

    int old_mask;



    old_mask = cpu->interrupt_request;

    cpu->interrupt_request |= mask;



    /*

     * If called from iothread context, wake the target cpu in

     * case its halted.

     */

    if (!qemu_cpu_is_self(cpu)) {

        qemu_cpu_kick(cpu);

        return;

    }



    if (use_icount) {

        cpu->icount_decr.u16.high = 0xffff;

        if (!cpu->can_do_io

            && (mask & ~old_mask) != 0) {

            cpu_abort(cpu, "Raised interrupt while not in I/O function");

        }

    } else {

        cpu->tcg_exit_req = 1;

    }

}

static void tcg_handle_interrupt(CPUState *cpu, int mask)

{

    int old_mask;



    old_mask = cpu->interrupt_request;

    cpu->interrupt_request |= mask;



    







    if (!qemu_cpu_is_self(cpu)) {

        qemu_cpu_kick(cpu);

        return;

    }



    if (use_icount) {

        cpu->icount_decr.u16.high = 0xffff;

        if (!cpu->can_do_io

            && (mask & ~old_mask) != 0) {

            cpu_abort(cpu, "Raised interrupt while not in I/O function");

        }

    } else {

        cpu->tcg_exit_req = 1;

    }

}

    } else {     if (use_icount) {         cpu->icount_decr.u16.high = 0xffff;         if (!cpu->can_do_io             && (mask & ~old_mask) != 0) {             cpu_abort(cpu, "Raised interrupt while not in I/O function");         cpu->tcg_exit_req = 1;
static void FUNC_0(CPUState *VAR_0, int VAR_1)

{

    int VAR_2;



    VAR_2 = VAR_0->interrupt_request;

    VAR_0->interrupt_request |= VAR_1;



    







    if (!qemu_cpu_is_self(VAR_0)) {

        qemu_cpu_kick(VAR_0);

        return;

    }



    if (use_icount) {

        VAR_0->icount_decr.u16.high = 0xffff;

        if (!VAR_0->can_do_io

            && (VAR_1 & ~VAR_2) != 0) {

            cpu_abort(VAR_0, "Raised interrupt while not in I/O function");

        }

    } else {

        VAR_0->tcg_exit_req = 1;

    }

}

static void FUNC_0(CPUState *VAR_0, int VAR_1)
{ int VAR_2; VAR_2 = VAR_0->interrupt_request; VAR_0->interrupt_request |= VAR_1; if (!qemu_cpu_is_self(VAR_0)) { qemu_cpu_kick(VAR_0); return; } if (use_icount) { VAR_0->icount_decr.u16.high = 0xffff; if (!VAR_0->can_do_io
&& (VAR_1 & ~VAR_2) != 0) { cpu_abort(VAR_0, "Raised interrupt while not in I/O function"); } } else { VAR_0->tcg_exit_req = 1; } }