xref: /openbmc/qemu/include/exec/breakpoint.h (revision fd87be1dada5672f877e03c2ca8504458292c479)
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