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