From patchwork Thu Dec 6 03:03:18 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/3] target-i386:make hw_breakpoint_enabled return bool type Date: Wed, 05 Dec 2012 17:03:18 -0000 From: liguang X-Patchwork-Id: 204098 Message-Id: <1354762999-4135-2-git-send-email-lig.fnst@cn.fujitsu.com> To: afaerber@suse.de, ehabkost@redhat.com, imammedo@redhat.com, blauwirbel@gmail.com, jan.kiszka@siemens.com, qemu-devel@nongnu.org Cc: liguang Signed-off-by: liguang --- target-i386/cpu.h | 15 +++++++++++++-- 1 files changed, 13 insertions(+), 2 deletions(-) diff --git a/target-i386/cpu.h b/target-i386/cpu.h index 29245d1..3646128 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -996,9 +996,20 @@ int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr, #define cpu_handle_mmu_fault cpu_x86_handle_mmu_fault void cpu_x86_set_a20(CPUX86State *env, int a20_state); -static inline int hw_breakpoint_enabled(unsigned long dr7, int index) +static inline bool hw_local_breakpoint_enabled(unsigned long dr7, int index) { - return (dr7 >> (index * 2)) & 3; + return !!((dr7 >> (index * 2)) & 1); +} + +static inline bool hw_global_breakpoint_enabled(unsigned long dr7, int index) +{ + return !!((dr7 >> (index * 2)) & 2); +} + +static inline bool hw_breakpoint_enabled(unsigned long dr7, int index) +{ + return (hw_global_breakpoint_enabled(dr7, index) || + hw_local_breakpoint_enabled(dr7, index)); } static inline int hw_breakpoint_type(unsigned long dr7, int index)