[BACK]Return to kdb.h CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs / include / asm-ia64

File: [Development] / linux-2.6-xfs / include / asm-ia64 / Attic / kdb.h (download)

Revision 1.10, Tue Mar 14 14:38:59 2006 UTC (11 years, 7 months ago) by nathans.longdrop.melbourne.sgi.com
Branch: MAIN
Changes since 1.9: +0 -0 lines

Merge up to 2.6.16-rc6.
Merge of 2.6.x-xfs-melb:linux:25443a by kenmcd.

#ifndef _ASM_KDB_H
#define _ASM_KDB_H

/*
 * Kernel Debugger Architecture Dependent Global Headers
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (c) 1999-2004 Silicon Graphics, Inc.  All Rights Reserved.
 */

/*
 * KDB_ENTER() is a macro which causes entry into the kernel
 * debugger from any point in the kernel code stream.  If it
 * is intended to be used from interrupt level, it must use
 * a non-maskable entry method.
 */
#include <asm/kdb_break.h>		/* break numbers are separated for CONFIG_KDB_LOCK */
#define __KDB_ENTER2(b)	asm("\tbreak.m "#b"\n")
#define __KDB_ENTER1(b)	__KDB_ENTER2(b)
#define KDB_ENTER()		do {if (kdb_on && !KDB_IS_RUNNING()) { __KDB_ENTER1(KDB_BREAK_ENTER); }} while(0)
#define KDB_ENTER_SLAVE()	do {if (kdb_on) { __KDB_ENTER1(KDB_BREAK_ENTER_SLAVE); }} while(0)

	/*
	 * Needed for exported symbols.
	 */
typedef unsigned long kdb_machreg_t;

#define kdb_machreg_fmt		"0x%lx"
#define kdb_machreg_fmt0	"0x%016lx"
#define kdb_bfd_vma_fmt		"0x%lx"
#define kdb_bfd_vma_fmt0	"0x%016lx"
#define kdb_elfw_addr_fmt	"0x%lx"
#define kdb_elfw_addr_fmt0	"0x%016lx"

static inline unsigned long
kdba_funcptr_value(void *fp)
{
	/* ia64 function descriptor, first word is address of code */
	return *(unsigned long *)fp;
}

#endif	/* !_ASM_KDB_H */