1*6ce1c9d0SPhilippe Mathieu-Daudé /* 2*6ce1c9d0SPhilippe Mathieu-Daudé * QEMU breakpoint & watchpoint definitions 3*6ce1c9d0SPhilippe Mathieu-Daudé * 4*6ce1c9d0SPhilippe Mathieu-Daudé * Copyright (c) 2012 SUSE LINUX Products GmbH 5*6ce1c9d0SPhilippe Mathieu-Daudé * 6*6ce1c9d0SPhilippe Mathieu-Daudé * SPDX-License-Identifier: GPL-2.0-or-later 7*6ce1c9d0SPhilippe Mathieu-Daudé */ 8*6ce1c9d0SPhilippe Mathieu-Daudé #ifndef EXEC_BREAKPOINT_H 9*6ce1c9d0SPhilippe Mathieu-Daudé #define EXEC_BREAKPOINT_H 10*6ce1c9d0SPhilippe Mathieu-Daudé 11*6ce1c9d0SPhilippe Mathieu-Daudé #include "qemu/queue.h" 12*6ce1c9d0SPhilippe Mathieu-Daudé #include "exec/vaddr.h" 13*6ce1c9d0SPhilippe Mathieu-Daudé #include "exec/memattrs.h" 14*6ce1c9d0SPhilippe Mathieu-Daudé 15*6ce1c9d0SPhilippe Mathieu-Daudé typedef struct CPUBreakpoint { 16*6ce1c9d0SPhilippe Mathieu-Daudé vaddr pc; 17*6ce1c9d0SPhilippe Mathieu-Daudé int flags; /* BP_* */ 18*6ce1c9d0SPhilippe Mathieu-Daudé QTAILQ_ENTRY(CPUBreakpoint) entry; 19*6ce1c9d0SPhilippe Mathieu-Daudé } CPUBreakpoint; 20*6ce1c9d0SPhilippe Mathieu-Daudé 21*6ce1c9d0SPhilippe Mathieu-Daudé typedef struct CPUWatchpoint { 22*6ce1c9d0SPhilippe Mathieu-Daudé vaddr vaddr; 23*6ce1c9d0SPhilippe Mathieu-Daudé vaddr len; 24*6ce1c9d0SPhilippe Mathieu-Daudé vaddr hitaddr; 25*6ce1c9d0SPhilippe Mathieu-Daudé MemTxAttrs hitattrs; 26*6ce1c9d0SPhilippe Mathieu-Daudé int flags; /* BP_* */ 27*6ce1c9d0SPhilippe Mathieu-Daudé QTAILQ_ENTRY(CPUWatchpoint) entry; 28*6ce1c9d0SPhilippe Mathieu-Daudé } CPUWatchpoint; 29*6ce1c9d0SPhilippe Mathieu-Daudé 30*6ce1c9d0SPhilippe Mathieu-Daudé #endif 31