static void breakpoint_handler(CPUState *env)

{

    CPUBreakpoint *bp;



    if (env->watchpoint_hit) {

        if (env->watchpoint_hit->flags & BP_CPU) {

            env->watchpoint_hit = NULL;

            if (check_hw_breakpoints(env, 0))

                raise_exception(EXCP01_DB);

            else

                cpu_resume_from_signal(env, NULL);

        }

    } else {

        TAILQ_FOREACH(bp, &env->breakpoints, entry)

            if (bp->pc == env->eip) {

                if (bp->flags & BP_CPU) {

                    check_hw_breakpoints(env, 1);

                    raise_exception(EXCP01_DB);

                }

                break;

            }

    }

    if (prev_debug_excp_handler)

        prev_debug_excp_handler(env);

}

static void breakpoint_handler(CPUState *env)

{

    CPUBreakpoint *bp;



    if (env->watchpoint_hit) {

        if (env->watchpoint_hit->flags & BP_CPU) {

            env->watchpoint_hit = NULL;

            if (check_hw_breakpoints(env, 0))

                raise_exception(EXCP01_DB);

            else

                cpu_resume_from_signal(env, NULL);

        }

    } else {

        TAILQ_FOREACH(bp, &env->breakpoints, entry)

            if (bp->pc == env->eip) {

                if (bp->flags & BP_CPU) {

                    check_hw_breakpoints(env, 1);

                    raise_exception(EXCP01_DB);

                }

                break;

            }

    }

    if (prev_debug_excp_handler)

        prev_debug_excp_handler(env);

}

static void FUNC_0(CPUState *VAR_0)

{

    CPUBreakpoint *bp;



    if (VAR_0->watchpoint_hit) {

        if (VAR_0->watchpoint_hit->flags & BP_CPU) {

            VAR_0->watchpoint_hit = NULL;

            if (check_hw_breakpoints(VAR_0, 0))

                raise_exception(EXCP01_DB);

            else

                cpu_resume_from_signal(VAR_0, NULL);

        }

    } else {

        TAILQ_FOREACH(bp, &VAR_0->breakpoints, entry)

            if (bp->pc == VAR_0->eip) {

                if (bp->flags & BP_CPU) {

                    check_hw_breakpoints(VAR_0, 1);

                    raise_exception(EXCP01_DB);

                }

                break;

            }

    }

    if (prev_debug_excp_handler)

        prev_debug_excp_handler(VAR_0);

}

static void FUNC_0(CPUState *VAR_0)
{ CPUBreakpoint *bp; if (VAR_0->watchpoint_hit) { if (VAR_0->watchpoint_hit->flags & BP_CPU) { VAR_0->watchpoint_hit = NULL; if (check_hw_breakpoints(VAR_0, 0))
raise_exception(EXCP01_DB); else
cpu_resume_from_signal(VAR_0, NULL); } } else { TAILQ_FOREACH(bp, &VAR_0->breakpoints, entry)
if (bp->pc == VAR_0->eip) { if (bp->flags & BP_CPU) { check_hw_breakpoints(VAR_0, 1); raise_exception(EXCP01_DB); } break; } } if (prev_debug_excp_handler)
prev_debug_excp_handler(VAR_0); }