mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <20260705215729.62196-20-philmd@oss.qualcomm.com>
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/*
|
|
* QEMU breakpoint & watchpoint definitions
|
|
*
|
|
* Copyright (c) 2012 SUSE LINUX Products GmbH
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
#ifndef EXEC_BREAKPOINT_H
|
|
#define EXEC_BREAKPOINT_H
|
|
|
|
#include "qemu/queue.h"
|
|
#include "exec/vaddr.h"
|
|
#include "exec/memattrs.h"
|
|
|
|
/* Breakpoint/watchpoint flags */
|
|
#define BP_MEM_READ 0x01
|
|
#define BP_MEM_WRITE 0x02
|
|
#define BP_MEM_ACCESS (BP_MEM_READ | BP_MEM_WRITE)
|
|
#define BP_STOP_BEFORE_ACCESS 0x04
|
|
/* 0x08 currently unused */
|
|
#define BP_GDB 0x10
|
|
#define BP_CPU 0x20
|
|
#define BP_ANY (BP_GDB | BP_CPU)
|
|
#define BP_HIT_SHIFT 6
|
|
#define BP_WATCHPOINT_HIT_READ (BP_MEM_READ << BP_HIT_SHIFT)
|
|
#define BP_WATCHPOINT_HIT_WRITE (BP_MEM_WRITE << BP_HIT_SHIFT)
|
|
#define BP_WATCHPOINT_HIT (BP_MEM_ACCESS << BP_HIT_SHIFT)
|
|
|
|
typedef struct CPUBreakpoint {
|
|
vaddr pc;
|
|
int flags; /* BP_* */
|
|
QTAILQ_ENTRY(CPUBreakpoint) entry;
|
|
} CPUBreakpoint;
|
|
|
|
typedef struct CPUWatchpoint {
|
|
vaddr vaddr;
|
|
vaddr len;
|
|
vaddr hitaddr;
|
|
MemTxAttrs hitattrs;
|
|
int flags; /* BP_* */
|
|
QTAILQ_ENTRY(CPUWatchpoint) entry;
|
|
} CPUWatchpoint;
|
|
|
|
#endif
|