1*3e57baa2SRichard Henderson /* 2*3e57baa2SRichard Henderson * CPU watchpoints 3*3e57baa2SRichard Henderson * 4*3e57baa2SRichard Henderson * Copyright (c) 2012 SUSE LINUX Products GmbH 5*3e57baa2SRichard Henderson * SPDX-License-Identifier: LGPL-2.1-or-later 6*3e57baa2SRichard Henderson */ 7*3e57baa2SRichard Henderson 8*3e57baa2SRichard Henderson #ifndef EXEC_WATCHPOINT_H 9*3e57baa2SRichard Henderson #define EXEC_WATCHPOINT_H 10*3e57baa2SRichard Henderson 11*3e57baa2SRichard Henderson #if defined(CONFIG_USER_ONLY) 12*3e57baa2SRichard Henderson static inline int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len, 13*3e57baa2SRichard Henderson int flags, CPUWatchpoint **watchpoint) 14*3e57baa2SRichard Henderson { 15*3e57baa2SRichard Henderson return -ENOSYS; 16*3e57baa2SRichard Henderson } 17*3e57baa2SRichard Henderson 18*3e57baa2SRichard Henderson static inline int cpu_watchpoint_remove(CPUState *cpu, vaddr addr, 19*3e57baa2SRichard Henderson vaddr len, int flags) 20*3e57baa2SRichard Henderson { 21*3e57baa2SRichard Henderson return -ENOSYS; 22*3e57baa2SRichard Henderson } 23*3e57baa2SRichard Henderson 24*3e57baa2SRichard Henderson static inline void cpu_watchpoint_remove_by_ref(CPUState *cpu, 25*3e57baa2SRichard Henderson CPUWatchpoint *wp) 26*3e57baa2SRichard Henderson { 27*3e57baa2SRichard Henderson } 28*3e57baa2SRichard Henderson 29*3e57baa2SRichard Henderson static inline void cpu_watchpoint_remove_all(CPUState *cpu, int mask) 30*3e57baa2SRichard Henderson { 31*3e57baa2SRichard Henderson } 32*3e57baa2SRichard Henderson #else 33*3e57baa2SRichard Henderson int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len, 34*3e57baa2SRichard Henderson int flags, CPUWatchpoint **watchpoint); 35*3e57baa2SRichard Henderson int cpu_watchpoint_remove(CPUState *cpu, vaddr addr, 36*3e57baa2SRichard Henderson vaddr len, int flags); 37*3e57baa2SRichard Henderson void cpu_watchpoint_remove_by_ref(CPUState *cpu, CPUWatchpoint *watchpoint); 38*3e57baa2SRichard Henderson void cpu_watchpoint_remove_all(CPUState *cpu, int mask); 39*3e57baa2SRichard Henderson #endif 40*3e57baa2SRichard Henderson 41*3e57baa2SRichard Henderson #endif /* EXEC_WATCHPOINT_H */ 42