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