177943Sdfr/* $FreeBSD: stable/11/stand/efi/include/efidebug.h 292625 2015-12-22 20:40:34Z emaste $ */
277943Sdfr#ifndef _EFI_DEBUG_H
377943Sdfr#define _EFI_DEBUG_H
477943Sdfr
577943Sdfr/*++
677943Sdfr
7163898SmarcelCopyright (c)  1999 - 2002 Intel Corporation. All rights reserved
8163898SmarcelThis software and associated documentation (if any) is furnished
9163898Smarcelunder a license and may only be used or copied in accordance
10163898Smarcelwith the terms of the license. Except as permitted by such
11163898Smarcellicense, no part of this software or documentation may be
12163898Smarcelreproduced, stored in a retrieval system, or transmitted in any
13163898Smarcelform or by any means without the express written consent of
14163898SmarcelIntel Corporation.
1577943Sdfr
1677943SdfrModule Name:
1777943Sdfr
1877943Sdfr    efidebug.h
1977943Sdfr
2077943SdfrAbstract:
2177943Sdfr
2277943Sdfr    EFI library debug functions
2377943Sdfr
2477943Sdfr
2577943Sdfr
2677943SdfrRevision History
2777943Sdfr
2877943Sdfr--*/
2977943Sdfr
3077943Sdfrextern UINTN     EFIDebug;
3177943Sdfr
3277943Sdfr#if EFI_DEBUG
3377943Sdfr
3477943Sdfr    #define DBGASSERT(a)        DbgAssert(__FILE__, __LINE__, #a)
3577943Sdfr    #define DEBUG(a)            DbgPrint a
36292625Semaste
3777943Sdfr#else
3877943Sdfr
3977943Sdfr    #define DBGASSERT(a)
4077943Sdfr    #define DEBUG(a)
41292625Semaste
4277943Sdfr#endif
4377943Sdfr
4477943Sdfr#if EFI_DEBUG_CLEAR_MEMORY
4577943Sdfr
4677943Sdfr    #define DBGSETMEM(a,l)      SetMem(a,l,(CHAR8)BAD_POINTER)
4777943Sdfr
4877943Sdfr#else
4977943Sdfr
5077943Sdfr    #define DBGSETMEM(a,l)
5177943Sdfr
5277943Sdfr#endif
5377943Sdfr
54163898Smarcel#define D_INIT        0x00000001          // Initialization style messages
55163898Smarcel#define D_WARN        0x00000002          // Warnings
56163898Smarcel#define D_LOAD        0x00000004          // Load events
57163898Smarcel#define D_FS          0x00000008          // EFI File system
58163898Smarcel#define D_POOL        0x00000010          // Alloc & Free's
59163898Smarcel#define D_PAGE        0x00000020          // Alloc & Free's
60163898Smarcel#define D_INFO        0x00000040          // Verbose
61163898Smarcel#define D_VARIABLE    0x00000100          // Variable
62163898Smarcel#define D_VAR         0x00000100          // Variable
63292625Semaste#define D_BM          0x00000400          // Boot Manager
64163898Smarcel#define D_BLKIO       0x00001000          // BlkIo Driver
65163898Smarcel#define D_BLKIO_ULTRA 0x00002000          // BlkIo Driver
66163898Smarcel#define D_NET         0x00004000          // SNI Driver
67163898Smarcel#define D_NET_ULTRA   0x00008000          // SNI Driver
68163898Smarcel#define D_UNDI        0x00010000          // UNDI Driver
69163898Smarcel#define D_LOADFILE    0x00020000          // UNDI Driver
70163898Smarcel#define D_EVENT       0x00080000          // Event messages
7177943Sdfr
72163898Smarcel#define D_ERROR       0x80000000          // Error
7377943Sdfr
74163898Smarcel#define D_RESERVED    0x7ff40A80          // Bits not reserved above
75163898Smarcel
76163898Smarcel//
77163898Smarcel// Current Debug level of the system, value of EFIDebug
78163898Smarcel//
79163898Smarcel//#define EFI_DBUG_MASK   (D_ERROR | D_WARN | D_LOAD | D_BLKIO | D_INIT)
8077943Sdfr#define EFI_DBUG_MASK   (D_ERROR)
8177943Sdfr
82163898Smarcel//
83163898Smarcel//
84163898Smarcel//
85163898Smarcel
8677943Sdfr#if EFI_DEBUG
8777943Sdfr
8877943Sdfr    #define ASSERT(a)               if(!(a))       DBGASSERT(a)
8977943Sdfr    #define ASSERT_LOCKED(l)        if(!(l)->Lock) DBGASSERT(l not locked)
9077943Sdfr    #define ASSERT_STRUCT(p,t)      DBGASSERT(t not structure), p
9177943Sdfr
9277943Sdfr#else
9377943Sdfr
94292625Semaste    #define ASSERT(a)
95292625Semaste    #define ASSERT_LOCKED(l)
96292625Semaste    #define ASSERT_STRUCT(p,t)
9777943Sdfr
9877943Sdfr#endif
9977943Sdfr
100163898Smarcel//
101163898Smarcel// Prototypes
102163898Smarcel//
10377943Sdfr
10477943SdfrINTN
10577943SdfrDbgAssert (
10677943Sdfr    CHAR8   *file,
10777943Sdfr    INTN    lineno,
10877943Sdfr    CHAR8   *string
10977943Sdfr    );
11077943Sdfr
11177943SdfrINTN
11277943SdfrDbgPrint (
11377943Sdfr    INTN    mask,
11477943Sdfr    CHAR8   *format,
11577943Sdfr    ...
11677943Sdfr    );
11777943Sdfr
11877943Sdfr#endif
119