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