db_machdep.h (b626f5a73a48f44a31a200291b141e1da408a2ff) | db_machdep.h (595f8a5905b062aedcd455b703cd63ca44f23f18) |
---|---|
1/*- 2 * Mach Operating System 3 * Copyright (c) 1991,1990 Carnegie Mellon University 4 * All Rights Reserved. 5 * 6 * Permission to use, copy, modify and distribute this software and its 7 * documentation is hereby granted, provided that both the copyright 8 * notice and this permission notice appear in all copies of the --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#ifndef _MACHINE_DB_MACHDEP_H_ 31#define _MACHINE_DB_MACHDEP_H_ 32 33#include <machine/frame.h> 34#include <machine/trap.h> 35#include <machine/armreg.h> | 1/*- 2 * Mach Operating System 3 * Copyright (c) 1991,1990 Carnegie Mellon University 4 * All Rights Reserved. 5 * 6 * Permission to use, copy, modify and distribute this software and its 7 * documentation is hereby granted, provided that both the copyright 8 * notice and this permission notice appear in all copies of the --- 19 unchanged lines hidden (view full) --- 28 */ 29 30#ifndef _MACHINE_DB_MACHDEP_H_ 31#define _MACHINE_DB_MACHDEP_H_ 32 33#include <machine/frame.h> 34#include <machine/trap.h> 35#include <machine/armreg.h> |
36#include <machine/acle-compat.h> |
|
36 37#define T_BREAKPOINT (1) | 37 38#define T_BREAKPOINT (1) |
39#define T_WATCHPOINT (2) |
|
38typedef vm_offset_t db_addr_t; 39typedef int db_expr_t; 40 41#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_regs.sf_pc) 42 43#define BKPT_INST (KERNEL_BREAKPOINT) 44#define BKPT_SIZE (INSN_SIZE) 45#define BKPT_SET(inst) (BKPT_INST) 46 47#define BKPT_SKIP do { \ 48 kdb_frame->tf_pc += BKPT_SIZE; \ 49} while (0) 50 | 40typedef vm_offset_t db_addr_t; 41typedef int db_expr_t; 42 43#define PC_REGS() ((db_addr_t)kdb_thrctx->pcb_regs.sf_pc) 44 45#define BKPT_INST (KERNEL_BREAKPOINT) 46#define BKPT_SIZE (INSN_SIZE) 47#define BKPT_SET(inst) (BKPT_INST) 48 49#define BKPT_SKIP do { \ 50 kdb_frame->tf_pc += BKPT_SIZE; \ 51} while (0) 52 |
51#define SOFTWARE_SSTEP 1 | 53#if __ARM_ARCH >= 6 54#define db_clear_single_step kdb_cpu_clear_singlestep 55#define db_set_single_step kdb_cpu_set_singlestep 56#define db_pc_is_singlestep kdb_cpu_pc_is_singlestep 57#else 58#define SOFTWARE_SSTEP 1 59#endif |
52 53#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT) | 60 61#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT) |
54#define IS_WATCHPOINT_TRAP(type, code) (0) | 62#define IS_WATCHPOINT_TRAP(type, code) (type == T_WATCHPOINT) |
55 | 63 |
56 | |
57#define inst_trap_return(ins) (0) 58/* ldmxx reg, {..., pc} 59 01800000 stack mode 60 000f0000 register 61 0000ffff register list */ 62/* mov pc, reg 63 0000000f register */ 64#define inst_return(ins) (((ins) & 0x0e108000) == 0x08108000 || \ --- 34 unchanged lines hidden --- | 64#define inst_trap_return(ins) (0) 65/* ldmxx reg, {..., pc} 66 01800000 stack mode 67 000f0000 register 68 0000ffff register list */ 69/* mov pc, reg 70 0000000f register */ 71#define inst_return(ins) (((ins) & 0x0e108000) == 0x08108000 || \ --- 34 unchanged lines hidden --- |