efidebug.h revision 96893
1/* $FreeBSD: head/sys/boot/efi/include/efidebug.h 96893 2002-05-19 03:17:22Z marcel $ */ 2#ifndef _EFI_DEBUG_H 3#define _EFI_DEBUG_H 4 5/*++ 6 7Copyright (c) 1998 Intel Corporation 8 9Module Name: 10 11 efidebug.h 12 13Abstract: 14 15 EFI library debug functions 16 17 18 19Revision History 20 21--*/ 22 23extern UINTN EFIDebug; 24 25#if EFI_DEBUG 26 27 #define DBGASSERT(a) DbgAssert(__FILE__, __LINE__, #a) 28 #define DEBUG(a) DbgPrint a 29 30#else 31 32 #define DBGASSERT(a) 33 #define DEBUG(a) 34 35#endif 36 37#if EFI_DEBUG_CLEAR_MEMORY 38 39 #define DBGSETMEM(a,l) SetMem(a,l,(CHAR8)BAD_POINTER) 40 41#else 42 43 #define DBGSETMEM(a,l) 44 45#endif 46 47#define D_INIT 0x00000001 /* Initialization style messages */ 48#define D_WARN 0x00000002 /* Warnings */ 49#define D_LOAD 0x00000004 /* Load events */ 50#define D_FS 0x00000008 /* EFI File system */ 51#define D_POOL 0x00000010 /* Alloc & Free's */ 52#define D_PAGE 0x00000020 /* Alloc & Free's */ 53#define D_INFO 0x00000040 /* Verbose */ 54#define D_VAR 0x00000100 /* Variable */ 55#define D_PARSE 0x00000200 /* Command parsing */ 56#define D_BM 0x00000400 /* Boot manager */ 57#define D_BLKIO 0x00001000 /* BlkIo Driver */ 58#define D_BLKIO_ULTRA 0x00002000 /* BlkIo Driver */ 59#define D_NET 0x00004000 /* SNI Driver */ 60#define D_NET_ULTRA 0x00008000 /* SNI Driver */ 61#define D_TXTIN 0x00010000 /* Simple Input Driver */ 62#define D_TXTOUT 0x00020000 /* Simple Text Output Driver */ 63#define D_ERROR_ATA 0x00040000 /* ATA error messages */ 64#define D_ERROR 0x80000000 /* Error */ 65 66#define D_RESERVED 0x7fffC880 /* Bits not reserved above */ 67 68/* 69 * Current Debug level of the system, value of EFIDebug 70 */ 71#define EFI_DBUG_MASK (D_ERROR) 72 73#if EFI_DEBUG 74 75 #define ASSERT(a) if(!(a)) DBGASSERT(a) 76 #define ASSERT_LOCKED(l) if(!(l)->Lock) DBGASSERT(l not locked) 77 #define ASSERT_STRUCT(p,t) DBGASSERT(t not structure), p 78 79#else 80 81 #define ASSERT(a) 82 #define ASSERT_LOCKED(l) 83 #define ASSERT_STRUCT(p,t) 84 85#endif 86 87/* 88 * Prototypes 89 */ 90 91INTN 92DbgAssert ( 93 CHAR8 *file, 94 INTN lineno, 95 CHAR8 *string 96 ); 97 98INTN 99DbgPrint ( 100 INTN mask, 101 CHAR8 *format, 102 ... 103 ); 104 105#endif 106