1 0 stevel /* 2 0 stevel * CDDL HEADER START 3 0 stevel * 4 0 stevel * The contents of this file are subject to the terms of the 5 5084 johnlev * Common Development and Distribution License (the "License"). 6 5084 johnlev * You may not use this file except in compliance with the License. 7 0 stevel * 8 0 stevel * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 0 stevel * or http://www.opensolaris.org/os/licensing. 10 0 stevel * See the License for the specific language governing permissions 11 0 stevel * and limitations under the License. 12 0 stevel * 13 0 stevel * When distributing Covered Code, include this CDDL HEADER in each 14 0 stevel * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 0 stevel * If applicable, add the following below this CDDL HEADER, with the 16 0 stevel * fields enclosed by brackets "[]" replaced with your own identifying 17 0 stevel * information: Portions Copyright [yyyy] [name of copyright owner] 18 0 stevel * 19 0 stevel * CDDL HEADER END 20 0 stevel */ 21 0 stevel /* 22 5084 johnlev * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23 0 stevel * Use is subject to license terms. 24 0 stevel */ 25 0 stevel 26 0 stevel #ifndef _MDB_AMD64UTIL_H 27 0 stevel #define _MDB_AMD64UTIL_H 28 0 stevel 29 0 stevel #pragma ident "%Z%%M% %I% %E% SMI" 30 0 stevel 31 0 stevel #include <mdb/mdb_kreg.h> 32 0 stevel #include <mdb/mdb_target_impl.h> 33 0 stevel 34 0 stevel #ifdef __cplusplus 35 0 stevel extern "C" { 36 0 stevel #endif 37 0 stevel 38 0 stevel typedef uchar_t mdb_instr_t; 39 0 stevel 40 0 stevel extern const mdb_tgt_regdesc_t mdb_amd64_kregs[]; 41 0 stevel 42 0 stevel extern void mdb_amd64_printregs(const mdb_tgt_gregset_t *); 43 0 stevel extern int mdb_amd64_next(mdb_tgt_t *, uintptr_t *, kreg_t, mdb_instr_t); 44 0 stevel extern int mdb_amd64_step_out(mdb_tgt_t *, uintptr_t *, kreg_t, kreg_t, kreg_t, 45 0 stevel mdb_instr_t); 46 0 stevel 47 0 stevel extern int mdb_amd64_kvm_stack_iter(mdb_tgt_t *, const mdb_tgt_gregset_t *, 48 0 stevel mdb_tgt_stack_f *, void *); 49 0 stevel 50 0 stevel extern int mdb_amd64_kvm_frame(void *, uintptr_t, uint_t, const long *, 51 0 stevel const mdb_tgt_gregset_t *); 52 0 stevel extern int mdb_amd64_kvm_framev(void *, uintptr_t, uint_t, const long *, 53 0 stevel const mdb_tgt_gregset_t *); 54 0 stevel 55 0 stevel #ifdef __cplusplus 56 0 stevel } 57 0 stevel #endif 58 0 stevel 59 0 stevel #endif /* _MDB_AMD64UTIL_H */ 60