|
|
1.1 root 1: /* 1.1.1.7 ! root 2: Copyright (c) 2008 TrueCrypt Developers Association. All rights reserved. 1.1 root 3: 1.1.1.7 ! root 4: Governed by the TrueCrypt License 2.8 the full text of which is contained in ! 5: the file License.txt included in TrueCrypt binary and source code distribution ! 6: packages. 1.1 root 7: */ 8: 9: #ifndef TC_HEADER_Boot_BootDebug 10: #define TC_HEADER_Boot_BootDebug 11: 12: #include "Platform.h" 13: #include "BootConsoleIo.h" 14: 1.1.1.2 root 15: #if 0 16: # define TC_BOOT_DEBUG_ENABLED 17: #endif 1.1 root 18: 1.1.1.2 root 19: #if 0 || defined (TC_BOOT_DEBUG_ENABLED) 20: # define TC_BOOT_STACK_CHECKING_ENABLED 21: extern "C" void CheckStack (); 22: #else 23: # define CheckStack() 1.1 root 24: #endif 25: 1.1.1.2 root 26: #if 0 27: # define TC_BOOT_TRACING_ENABLED 1.1 root 28: # if 1 29: # define TC_TRACE_INT13 30: # endif 1.1.1.3 root 31: # if 0 1.1 root 32: # define TC_TRACE_INT15 33: # endif 34: #endif 35: 1.1.1.3 root 36: #ifdef TC_BOOT_DEBUG_ENABLED 37: # define trace_point do { Print(__FILE__); PrintChar (':'); Print (TC_TO_STRING (__LINE__)); PrintEndl(); } while (false) 38: # define trace_val(VAL) PrintVal (#VAL, VAL); 39: # define trace_hex(VAL) do { Print (#VAL), PrintChar (':'); PrintHex (VAL); PrintEndl(); } while (false) 40: # define assert(COND) do { if (!(COND)) { trace_point; __asm jmp $ } } while (false) 41: #else 42: # define trace_point 43: # define trace_val(VAL) 44: # define trace_hex(VAL) 45: # define assert(COND) 46: #endif 1.1 root 47: 48: void InitDebugPort (); 1.1.1.2 root 49: void InitStackChecker (); 1.1 root 50: void WriteDebugPort (byte dataByte); 51: void PrintHexDump (byte *mem, size_t size, uint16 *memSegment = nullptr); 52: void PrintHexDump (uint16 memSegment, uint16 memOffset, size_t size); 53: void PrintVal (const char *message, const uint32 value, bool newLine = true, bool hex = false); 54: void PrintVal (const char *message, const uint64 &value, bool newLine = true, bool hex = false); 55: 1.1.1.2 root 56: #endif // TC_HEADER_Boot_BootDebug
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.