Subversion Repositories HelenOS

Rev

Rev 2726 | Details | Compare with Previous | Last modification | View Log | RSS feed

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