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