the breakpoint related functions are a little hard to read for their implicit dr7 bit filed and not well organized logic, so try to define more readable bit filed for dr7 and clarify the breakpoint logic.
changes v4->v5 - fix some not well formated changes. - split functional and non-functional changes for cherry-picking suggested by Andreas Färber <afaer...@suse.de> changes v3->v4 - fix wrong logic of hw_{global,local}_breakpoint_enabled usage suggested by Peter Maydell <peter.mayd...@linaro.org> changes v2->v3 - split hw_breakpoint_enabled into hw_{global,local}_breakpoint_enabled changes v1->v2 - add _TYPE_ to the name of dr7 bit field - fix some coding styles suggested by Peter Maydell <peter.mayd...@linaro.org> target-i386/cpu.h | 19 ++++++ target-i386/helper.c | 76 +++++++++++++++++++++++++++++++++---------------- target-i386/machine.c | 5 +++-- target-i386/misc_helper.c | 4 ++-- target-i386/seg_helper.c | 9 +++++---- 5 files changed, 79 insertions(+), 34 deletions(-)