db_machdep.h revision 86525
1207151Smarius/* 2207151Smarius * Mach Operating System 3207151Smarius * Copyright (c) 1991,1990 Carnegie Mellon University 4207151Smarius * All Rights Reserved. 5207151Smarius * 6207151Smarius * Permission to use, copy, modify and distribute this software and its 7207151Smarius * documentation is hereby granted, provided that both the copyright 8207151Smarius * notice and this permission notice appear in all copies of the 9207151Smarius * software, derivative works or modified versions, and any portions 10207151Smarius * thereof, and that both notices appear in supporting documentation. 11207151Smarius * 12207151Smarius * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 13207151Smarius * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 14207151Smarius * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 15207151Smarius * 16207151Smarius * Carnegie Mellon requests users of this software to return to 17207151Smarius * 18207151Smarius * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 19207151Smarius * School of Computer Science 20207151Smarius * Carnegie Mellon University 21207151Smarius * Pittsburgh PA 15213-3890 22207151Smarius * 23207151Smarius * any improvements or extensions that they make and grant Carnegie Mellon 24207151Smarius * the rights to redistribute these changes. 25207151Smarius * 26207151Smarius * from: FreeBSD: src/sys/i386/include/db_machdep.h,v 1.16 1999/10/04 27207151Smarius * $FreeBSD: head/sys/sparc64/include/db_machdep.h 86525 2001-11-18 03:41:12Z jake $ 28207151Smarius */ 29207151Smarius 30207151Smarius#ifndef _MACHINE_DB_MACHDEP_H_ 31207151Smarius#define _MACHINE_DB_MACHDEP_H_ 32207151Smarius 33207151Smarius#include <machine/frame.h> 34207151Smarius#include <machine/trap.h> 35207151Smarius 36207151Smarius#define BYTE_MSF (1) 37207151Smarius 38207151Smariustypedef vm_offset_t db_addr_t; 39207151Smariustypedef long db_expr_t; 40207151Smarius 41207151Smariustypedef struct trapframe db_regs_t; 42207151Smariusextern db_regs_t ddb_regs; 43207151Smarius#define DDB_REGS (&ddb_regs) 44207151Smarius 45207151Smarius#define PC_REGS(regs) ((db_addr_t)(regs)->tf_tpc) 46207151Smarius 47207151Smarius#define BKPT_INST (0) 48207151Smarius#define BKPT_SIZE (4) 49207151Smarius#define BKPT_SET(inst) (BKPT_INST) 50207151Smarius 51207151Smarius#define BKPT_SKIP do { \ 52207151Smarius ddb_regs.tf_tpc = ddb_regs.tf_tnpc + 4; \ 53207151Smarius ddb_regs.tf_tnpc += 8; \ 54207151Smarius} while (0) 55 56#define db_clear_single_step(regs) 57#define db_set_single_step(regs) 58 59#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT) 60#define IS_WATCHPOINT_TRAP(type, code) (0) 61 62#define inst_trap_return(ins) (0) 63#define inst_return(ins) (0) 64#define inst_call(ins) (0) 65#define inst_load(ins) (0) 66#define inst_store(ins) (0) 67 68#define DB_SMALL_VALUE_MAX (0x7fffffff) 69#define DB_SMALL_VALUE_MIN (-0x40001) 70 71#define DB_ELFSIZE 64 72 73#endif /* !_MACHINE_DB_MACHDEP_H_ */ 74