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