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