> > +        if (def == 0) {
> > +            for (cx = 0; scpus && scpus[cx]; cx++) {
> > +                cpu_single_step(scpus[cx], sstep_flags);
> > +                cpu_resume(scpus[cx]);
> > +            }
> > +            for (cx = 0; ccpus && ccpus[cx]; cx++) {
> > +                cpu_resume(ccpus[cx]);
> > +            }
> > +        } else if (def == 'c' || def == 'C') {
> > +            for (cx = 0; scpus && scpus[cx]; cx++) {
> > +                cpu_single_step(scpus[cx], sstep_flags);
> > +            }
> > +            CPU_FOREACH(cpu) {
> > +                cpu_resume(cpu);
> > +            }
> > +        } else if (def == 's' || def == 'S') {
> > +            CPU_FOREACH(cpu) {
> > +                cpu_single_step(cpu, sstep_flags);
> > +            }
> > +            for (cx = 0; ccpus && ccpus[cx]; cx++) {
> > +                cpu_single_step(cpu, 0);

This looks suspicious

> > +            }
> > +            CPU_FOREACH(cpu) {
> > +                cpu_resume(cpu);
> > +            }
 
Claudio, did you have a look at how s->c_cpu is used later on? I remember that 
we
have to take care of some query reply packages.

David

Reply via email to