diff options
author | Richard Henderson | 2020-05-08 17:43:41 +0200 |
---|---|---|
committer | Peter Maydell | 2020-05-11 12:14:02 +0200 |
commit | 390734a42d003848efc6b73f6b7d8cd8aff8bdab (patch) | |
tree | 106d53378cc7887ceac4a3ee22f50eae11daba5f /include/hw/core | |
parent | hw/timer/nrf51_timer: Add trace event of counter value update (diff) | |
download | qemu-390734a42d003848efc6b73f6b7d8cd8aff8bdab.tar.gz qemu-390734a42d003848efc6b73f6b7d8cd8aff8bdab.tar.xz qemu-390734a42d003848efc6b73f6b7d8cd8aff8bdab.zip |
exec: Add block comments for watchpoint routines
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200508154359.7494-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/hw/core')
-rw-r--r-- | include/hw/core/cpu.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index 5bf94d28cf..07f7698155 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -1100,8 +1100,31 @@ int cpu_watchpoint_remove(CPUState *cpu, vaddr addr, vaddr len, int flags); void cpu_watchpoint_remove_by_ref(CPUState *cpu, CPUWatchpoint *watchpoint); void cpu_watchpoint_remove_all(CPUState *cpu, int mask); + +/** + * cpu_check_watchpoint: + * @cpu: cpu context + * @addr: guest virtual address + * @len: access length + * @attrs: memory access attributes + * @flags: watchpoint access type + * @ra: unwind return address + * + * Check for a watchpoint hit in [addr, addr+len) of the type + * specified by @flags. Exit via exception with a hit. + */ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len, MemTxAttrs attrs, int flags, uintptr_t ra); + +/** + * cpu_watchpoint_address_matches: + * @cpu: cpu context + * @addr: guest virtual address + * @len: access length + * + * Return the watchpoint flags that apply to [addr, addr+len). + * If no watchpoint is registered for the range, the result is 0. + */ int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len); #endif |