/[qemu]/qemu/exec.c
ViewVC logotype

Diff of /qemu/exec.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.12 by bellard, Mon Jun 30 13:12:32 2003 UTC revision 1.13 by bellard, Sat Jul 26 12:06:08 2003 UTC
# Line 617  static void tb_reset_jump_recursive(Tran Line 617  static void tb_reset_jump_recursive(Tran
617      tb_reset_jump_recursive2(tb, 1);      tb_reset_jump_recursive2(tb, 1);
618  }  }
619    
620    /* add a breakpoint */
621    int cpu_breakpoint_insert(CPUState *env, uint32_t pc)
622    {
623    #if defined(TARGET_I386)
624        int i;
625    
626        for(i = 0; i < env->nb_breakpoints; i++) {
627            if (env->breakpoints[i] == pc)
628                return 0;
629        }
630    
631        if (env->nb_breakpoints >= MAX_BREAKPOINTS)
632            return -1;
633        env->breakpoints[env->nb_breakpoints++] = pc;
634        tb_invalidate_page(pc);
635        return 0;
636    #else
637        return -1;
638    #endif
639    }
640    
641    /* remove a breakpoint */
642    int cpu_breakpoint_remove(CPUState *env, uint32_t pc)
643    {
644    #if defined(TARGET_I386)
645        int i;
646        for(i = 0; i < env->nb_breakpoints; i++) {
647            if (env->breakpoints[i] == pc)
648                goto found;
649        }
650        return -1;
651     found:
652        memmove(&env->breakpoints[i], &env->breakpoints[i + 1],
653                (env->nb_breakpoints - (i + 1)) * sizeof(env->breakpoints[0]));
654        env->nb_breakpoints--;
655        tb_invalidate_page(pc);
656        return 0;
657    #else
658        return -1;
659    #endif
660    }
661    
662  /* mask must never be zero */  /* mask must never be zero */
663  void cpu_interrupt(CPUState *env, int mask)  void cpu_interrupt(CPUState *env, int mask)
664  {  {

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26