blob: 0a688cfcd394ff322d91288e99d322b1c17924ed [file] [log] [blame]
/******************************************************************************/
/* */
/* Broadcom BCM5700 Linux Network Driver, Copyright (c) 2000 Broadcom */
/* Corporation. */
/* All rights reserved. */
/* */
/* This program is free software; you can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation, located in the file LICENSE. */
/* */
/* History: */
/* 02/25/00 Hav Khauv Initial version. */
/******************************************************************************/
#ifndef DEBUG_H
#define DEBUG_H
#ifdef VXWORKS
#include <vxWorks.h>
#endif
/******************************************************************************/
/* Debug macros */
/******************************************************************************/
/* Code path for controlling output debug messages. */
/* Define your code path here. */
#define CP_INIT 0x010000
#define CP_SEND 0x020000
#define CP_RCV 0x040000
#define CP_INT 0x080000
#define CP_UINIT 0x100000
#define CP_RESET 0x200000
#define CP_ALL (CP_INIT | CP_SEND | CP_RCV | CP_INT | \
CP_RESET | CP_UINIT)
#define CP_MASK 0xffff0000
/* Debug message levels. */
#define LV_VERBOSE 0x03
#define LV_INFORM 0x02
#define LV_WARN 0x01
#define LV_FATAL 0x00
#define LV_MASK 0xffff
/* Code path and messsage level combined. These are the first argument of */
/* the DbgMessage macro. */
#define INIT_V (CP_INIT | LV_VERBOSE)
#define INIT_I (CP_INIT | LV_INFORM)
#define INIT_W (CP_INIT | LV_WARN)
#define SEND_V (CP_SEND | LV_VERBOSE)
#define SEND_I (CP_SEND | LV_INFORM)
#define SEND_W (CP_SEND | LV_WARN)
#define RCV_V (CP_RCV | LV_VERBOSE)
#define RCV_I (CP_RCV | LV_INFORM)
#define RCV_W (CP_RCV | LV_WARN)
#define INT_V (CP_INT | LV_VERBOSE)
#define INT_I (CP_INT | LV_INFORM)
#define INT_W (CP_INT | LV_WARN)
#define UINIT_V (CP_UINIT | LV_VERBOSE)
#define UINIT_I (CP_UINIT | LV_INFORM)
#define UINIT_W (CP_UINIT | LV_WARN)
#define RESET_V (CP_RESET | LV_VERBOSE)
#define RESET_I (CP_RESET | LV_INFORM)
#define RESET_W (CP_RESET | LV_WARN)
#define CPALL_V (CP_ALL | LV_VERBOSE)
#define CPALL_I (CP_ALL | LV_INFORM)
#define CPALL_W (CP_ALL | LV_WARN)
/* All code path message levels. */
#define FATAL (CP_ALL | LV_FATAL)
#define WARN (CP_ALL | LV_WARN)
#define INFORM (CP_ALL | LV_INFORM)
#define VERBOSE (CP_ALL | LV_VERBOSE)
/* These constants control the message output. */
/* Set your debug message output level and code path here. */
#ifndef DBG_MSG_CP
#define DBG_MSG_CP CP_ALL /* Where to output messages. */
#endif
#ifndef DBG_MSG_LV
#define DBG_MSG_LV LV_VERBOSE /* Level of message output. */
#endif
/* DbgMessage macro. */
#if DBG
#define DbgMessage(CNTRL, MESSAGE) \
if((CNTRL & DBG_MSG_CP) && ((CNTRL & LV_MASK) <= DBG_MSG_LV)) \
printf MESSAGE
#define DbgBreak() DbgBreakPoint()
#undef STATIC
#define STATIC
#else
#define DbgMessage(CNTRL, MESSAGE)
#define DbgBreak()
#undef STATIC
#define STATIC static
#endif /* DBG */
#endif /* DEBUG_H */