summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2008-11-23 17:48:54 +0200
committerAvi Kivity <avi@redhat.com>2008-11-23 17:48:54 +0200
commitd3088c02f83b8ea4091bf705225549cf79bbbdd0 (patch)
tree29c240cb576f80afd5988f328b390c806cd53390 /cpu-defs.h
parentkvm: testsuite: test simultaneous irq injection (diff)
parenttarget-ppc: convert SPE FP ops to TCG (diff)
downloadqemu-kvm-d3088c02f83b8ea4091bf705225549cf79bbbdd0.tar.gz
qemu-kvm-d3088c02f83b8ea4091bf705225549cf79bbbdd0.tar.bz2
qemu-kvm-d3088c02f83b8ea4091bf705225549cf79bbbdd0.zip
Merge branch 'qemu-cvs'
Conflicts: qemu/block-raw-posix.c qemu/configure qemu/cpu-defs.h qemu/cpu-exec.c qemu/exec.c qemu/gdbstub.c qemu/loader.c qemu/osdep.c qemu/sysemu.h qemu/target-i386/helper.c qemu/target-ppc/cpu.h qemu/target-ppc/helper.c qemu/usb-linux.c Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-defs.h')
-rw-r--r--cpu-defs.h26
1 files changed, 16 insertions, 10 deletions
diff --git a/cpu-defs.h b/cpu-defs.h
index 9b1a9532c..902d2b48e 100644
--- a/cpu-defs.h
+++ b/cpu-defs.h
@@ -83,8 +83,6 @@ typedef uint64_t target_phys_addr_t;
#define EXCP_HLT 0x10001 /* hlt instruction reached */
#define EXCP_DEBUG 0x10002 /* cpu stopped after a breakpoint or singlestep */
#define EXCP_HALTED 0x10003 /* cpu is halted (waiting for external event) */
-#define MAX_BREAKPOINTS 32
-#define MAX_WATCHPOINTS 32
#define TB_JMP_CACHE_BITS 12
#define TB_JMP_CACHE_SIZE (1 << TB_JMP_CACHE_BITS)
@@ -146,6 +144,19 @@ typedef struct icount_decr_u16 {
struct kvm_run;
struct KVMState;
+typedef struct CPUBreakpoint {
+ target_ulong pc;
+ int flags; /* BP_* */
+ struct CPUBreakpoint *prev, *next;
+} CPUBreakpoint;
+
+typedef struct CPUWatchpoint {
+ target_ulong vaddr;
+ target_ulong len_mask;
+ int flags; /* BP_* */
+ struct CPUWatchpoint *prev, *next;
+} CPUWatchpoint;
+
/* forward decleration */
struct qemu_work_item;
@@ -192,16 +203,11 @@ struct KVMCPUState {
\
/* from this point: preserved by CPU reset */ \
/* ice debug support */ \
- target_ulong breakpoints[MAX_BREAKPOINTS]; \
- int nb_breakpoints; \
+ CPUBreakpoint *breakpoints; \
int singlestep_enabled; \
\
- struct { \
- target_ulong vaddr; \
- int type; /* PAGE_READ/PAGE_WRITE */ \
- } watchpoint[MAX_WATCHPOINTS]; \
- int nb_watchpoints; \
- int watchpoint_hit; \
+ CPUWatchpoint *watchpoints; \
+ CPUWatchpoint *watchpoint_hit; \
\
struct GDBRegisterState *gdb_regs; \
\