176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#ifndef _EFI_DEBUG_H 276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define _EFI_DEBUG_H 376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman/*++ 576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 676d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanCopyright (c) 1998 Intel Corporation 776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 876d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanModule Name: 976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman efidebug.h 1176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1276d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanAbstract: 1376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman EFI library debug functions 1576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 1876d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanRevision History 1976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman--*/ 2176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartmanextern UINTN EFIDebug; 2376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#if EFI_DEBUG 2576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DBGASSERT(a) DbgAssert(__FILE__, __LINE__, #a) 2776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DEBUG(a) DbgPrint a 2876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 2976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#else 3076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DBGASSERT(a) 3276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DEBUG(a) 3376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 3576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#if EFI_DEBUG_CLEAR_MEMORY 3776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 3876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DBGSETMEM(a,l) SetMem(a,l,(CHAR8)BAD_POINTER) 3976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#else 4176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define DBGSETMEM(a,l) 4376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 4576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 4676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_INIT 0x00000001 // Initialization style messages 4776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_WARN 0x00000002 // Warnings 4876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_LOAD 0x00000004 // Load events 4976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_FS 0x00000008 // EFI File system 5076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_POOL 0x00000010 // Alloc & Free's 5176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_PAGE 0x00000020 // Alloc & Free's 5276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_INFO 0x00000040 // Verbose 5376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_VAR 0x00000100 // Variable 5476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_PARSE 0x00000200 // Command parsing 5576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_BM 0x00000400 // Boot manager 5676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_BLKIO 0x00001000 // BlkIo Driver 5776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_BLKIO_ULTRA 0x00002000 // BlkIo Driver 5876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_NET 0x00004000 // SNI Driver 5976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_NET_ULTRA 0x00008000 // SNI Driver 6076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_TXTIN 0x00010000 // Simple Input Driver 6176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_TXTOUT 0x00020000 // Simple Text Output Driver 6276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_ERROR_ATA 0x00040000 // ATA error messages 6376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_ERROR 0x80000000 // Error 6476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 6576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define D_RESERVED 0x7fffC880 // Bits not reserved above 6676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 6776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 6876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// Current Debug level of the system, value of EFIDebug 6976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 7076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman//#define EFI_DBUG_MASK (D_ERROR | D_WARN | D_LOAD | D_BLKIO | D_INIT) 7176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#define EFI_DBUG_MASK (D_ERROR) 7276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 7376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 7476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 7576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 7676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 7776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#if EFI_DEBUG 7876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 7976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT(a) if(!(a)) DBGASSERT(a) 8076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT_LOCKED(l) if(!(l)->Lock) DBGASSERT(l not locked) 8176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT_STRUCT(p,t) DBGASSERT(t not structure), p 8276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 8376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#else 8476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 8576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT(a) 8676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT_LOCKED(l) 8776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman #define ASSERT_STRUCT(p,t) 8876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 8976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 9076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 9176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 9276d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// Prototypes 9376d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman// 9476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 9576d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanINTN 9676d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanDbgAssert ( 9776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman CHAR8 *file, 9876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman INTN lineno, 9976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman CHAR8 *string 10076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman ); 10176d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 10276d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanINTN 10376d05dc695b06c4e987bb8078f78032441e1430cGreg HartmanDbgPrint ( 10476d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman INTN mask, 10576d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman CHAR8 *format, 10676d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman ... 10776d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman ); 10876d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 10976d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman#endif 11076d05dc695b06c4e987bb8078f78032441e1430cGreg Hartman 111