1#ifndef _EFI_DEBUG_H 2#define _EFI_DEBUG_H 3 4/*++ 5 6Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved 7This software and associated documentation (if any) is furnished 8under a license and may only be used or copied in accordance 9with the terms of the license. Except as permitted by such 10license, no part of this software or documentation may be 11reproduced, stored in a retrieval system, or transmitted in any 12form or by any means without the express written consent of 13Intel Corporation. 14 15Module Name: 16 17 efidebug.h 18 19Abstract: 20 21 EFI library debug functions 22 23 24 25Revision History 26 27--*/ 28 29extern UINTN EFIDebug; 30 31#if EFI_DEBUG 32 33 #define DBGASSERT(a) DbgAssert(__FILE__, __LINE__, #a) 34 #define DEBUG(a) DbgPrint a 35 36#else 37 38 #define DBGASSERT(a) 39 #define DEBUG(a) 40 41#endif 42 43#if EFI_DEBUG_CLEAR_MEMORY 44 45 #define DBGSETMEM(a,l) SetMem(a,l,(CHAR8)BAD_POINTER) 46 47#else 48 49 #define DBGSETMEM(a,l) 50 51#endif 52 53#define D_INIT 0x00000001 // Initialization style messages 54#define D_WARN 0x00000002 // Warnings 55#define D_LOAD 0x00000004 // Load events 56#define D_FS 0x00000008 // EFI File system 57#define D_POOL 0x00000010 // Alloc & Free's 58#define D_PAGE 0x00000020 // Alloc & Free's 59#define D_INFO 0x00000040 // Verbose 60#define D_VARIABLE 0x00000100 // Variable 61#define D_VAR 0x00000100 // Variable 62#define D_BM 0x00000400 // Boot Manager 63#define D_BLKIO 0x00001000 // BlkIo Driver 64#define D_BLKIO_ULTRA 0x00002000 // BlkIo Driver 65#define D_NET 0x00004000 // SNI Driver 66#define D_NET_ULTRA 0x00008000 // SNI Driver 67#define D_UNDI 0x00010000 // UNDI Driver 68#define D_LOADFILE 0x00020000 // UNDI Driver 69#define D_EVENT 0x00080000 // Event messages 70 71#define D_ERROR 0x80000000 // Error 72 73#define D_RESERVED 0x7ff40A80 // Bits not reserved above 74 75// 76// Current Debug level of the system, value of EFIDebug 77// 78//#define EFI_DBUG_MASK (D_ERROR | D_WARN | D_LOAD | D_BLKIO | D_INIT) 79#define EFI_DBUG_MASK (D_ERROR) 80 81// 82// 83// 84 85#if EFI_DEBUG 86 87 #define ASSERT(a) if(!(a)) DBGASSERT(a) 88 #define ASSERT_LOCKED(l) if(!(l)->Lock) DBGASSERT(l not locked) 89 #define ASSERT_STRUCT(p,t) DBGASSERT(t not structure), p 90 91#else 92 93 #define ASSERT(a) 94 #define ASSERT_LOCKED(l) 95 #define ASSERT_STRUCT(p,t) 96 97#endif 98 99// 100// Prototypes 101// 102 103INTN 104DbgAssert ( 105 CHAR8 *file, 106 INTN lineno, 107 CHAR8 *string 108 ); 109 110INTN 111DbgPrint ( 112 INTN mask, 113 CHAR8 *format, 114 ... 115 ); 116 117#endif 118