Imported Upstream version 3.0
[platform/upstream/gnu-efi.git] / inc / efidebug.h
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