Subversion Repositories HelenOS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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.  
  111.