在 2012-12-05三的 09:53 +0100,Jan Kiszka写道: > On 2012-12-05 01:51, li guang wrote: > > 在 2012-12-04二的 11:26 +0000,Peter Maydell写道: > >> On 4 December 2012 11:11, Jan Kiszka <jan.kis...@siemens.com> wrote: > >>> On 2012-12-04 11:23, Peter Maydell wrote: > >>>> Doesn't this break the use of this function in target-i386/seg_helper.c: > >>>> > >>>> if (hw_breakpoint_enabled(env->dr[7], i) == 0x1) { > >>>> > >>>> which specifically wants to determine whether the breakpoint is > >>>> enabled only locally? > > > > It was changed to 'if (hw_breakpoint_enabled(env->dr[7], i)) {' > > in patch 3/3 > > Which is broken as it neglects the different types of "enabled". > > > > >>> > >>> It does. And that also indicates the function is misnamed. Something > >>> like hw_breakpoint_state might be better. > >> > > > > misnamed? I think hw_breakpoint_enabled is ask whether breakpoint > > ^^^^^^^^ > > is enabled or not, so it's almost suitable. > > There are two types of enabled breakpoints: task-local and global. The > current hw_breakpoint_enabled returns both as a bitmask, and that is > causing the confusing and regression in your patches. >
It is no doubt that 'hw_breakpoint_enabled' is only check local breakpoint, you know, so, do we really have to handle all the cases since seems there's nowhere uses global breapoints at present? > Jan > -- regards! li guang