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