Annotation of truecrypt/boot/windows/bootdefs.h, revision 1.1.1.3

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: 
1.1.1.3 ! root        9: #ifndef TC_HEADER_Boot_BootDefs
        !            10: #define TC_HEADER_Boot_BootDefs
        !            11: 
1.1.1.2   root       12: // Total memory required (CODE + DATA + BSS + STACK + 0x100) in KBytes - determined from linker map.
                     13: #define TC__BOOT_MEMORY_REQUIRED       42
1.1       root       14: 
1.1.1.3 ! root       15: #ifdef TC_WINDOWS_BOOT_SINGLE_CIPHER_MODE
        !            16: #      undef TC__BOOT_MEMORY_REQUIRED
        !            17: 
        !            18: #      ifdef TC_WINDOWS_BOOT_AES
        !            19: #              define TC__BOOT_MEMORY_REQUIRED         27
        !            20: #      elif defined (TC_WINDOWS_BOOT_SERPENT)
        !            21: #              define TC__BOOT_MEMORY_REQUIRED         32
        !            22: #      elif defined (TC_WINDOWS_BOOT_TWOFISH)
        !            23: #              define TC__BOOT_MEMORY_REQUIRED         40
        !            24: #      endif
        !            25: 
        !            26: #endif
        !            27: 
1.1       root       28: // Windows Vista boot loader uses memory up to 8000:FFFF, disregarding the BIOS memory map and the amount
1.1.1.3 ! root       29: // of available memory at 40:0013. Therefore, the code has to be loaded at or above 9000:0000.
1.1       root       30: 
                     31: // Modifying this value can introduce incompatibility with previous versions
1.1.1.3 ! root       32: #define TC__BOOT_LOADER_SEGMENT TC_HEX (9000)
        !            33: #define TC__COM_EXECUTABLE_OFFSET TC_HEX (100)
1.1       root       34: 
1.1.1.3 ! root       35: #define TC__BOOT_LOADER_LOWMEM_SEGMENT TC_HEX (2000)
        !            36: #define TC__BOOT_LOADER_BUFFER_SEGMENT TC_HEX (5000)
1.1       root       37: 
1.1.1.3 ! root       38: #define TC__BOOT_LOADER_STACK_TOP (TC_BOOT_MEMORY_REQUIRED * TC_UNSIGNED (1024) - 4)
        !            39: 
        !            40: #define TC__LB_SIZE 512
1.1       root       41: #define TC__BOOT_LOADER_AREA_SECTOR_COUNT 63
                     42: 
1.1.1.3 ! root       43: #define TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET 432
        !            44: #define TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET 434
1.1       root       45: #define TC__BOOT_SECTOR_CONFIG_OFFSET 439 // Last byte reserved for boot loader
                     46: 
1.1.1.3 ! root       47: #define TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR 2
        !            48: #define TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT 4
        !            49: #define TC__BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE 32768
        !            50: #define TC__BOOT_LOADER_COMPRESSED_BUFFER_OFFSET (TC_COM_EXECUTABLE_OFFSET + 3072)
        !            51: 
        !            52: #define TC__BOOT_LOADER_START_SECTOR (TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR + TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT)
        !            53: #define TC__MAX_BOOT_LOADER_SECTOR_COUNT (TC_BOOT_LOADER_AREA_SECTOR_COUNT - TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT - 2)
        !            54: #define TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE ((TC_BOOT_LOADER_AREA_SECTOR_COUNT - 2) * TC_LB_SIZE)
        !            55: 
        !            56: #define TC__BOOT_LOADER_BACKUP_SECTOR_COUNT 30
        !            57: 
        !            58: #define TC__GZIP_HEADER_SIZE 10
        !            59: 
        !            60: #define TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE              TC_HEX (02)
        !            61: #define TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER               TC_HEX (04)
        !            62: #define TC__BOOT_CFG_FLAG_RESCUE_DISK                                  TC_HEX (10)
        !            63: #define TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER  TC_HEX (20)
        !            64: 
        !            65: 
1.1       root       66: #ifdef TC_ASM_PREPROCESS
                     67: 
                     68: #define TC_HEX(N) 0##N##h
1.1.1.3 ! root       69: #define TC_UNSIGNED(N) N
1.1       root       70: 
                     71: TC_BOOT_MEMORY_REQUIRED = TC__BOOT_MEMORY_REQUIRED
                     72: TC_BOOT_LOADER_SEGMENT = TC__BOOT_LOADER_SEGMENT
1.1.1.3 ! root       73: TC_COM_EXECUTABLE_OFFSET = TC__COM_EXECUTABLE_OFFSET
1.1       root       74: TC_BOOT_LOADER_LOWMEM_SEGMENT = TC__BOOT_LOADER_LOWMEM_SEGMENT
1.1.1.3 ! root       75: TC_BOOT_LOADER_BUFFER_SEGMENT = TC__BOOT_LOADER_BUFFER_SEGMENT
        !            76: TC_BOOT_LOADER_STACK_TOP = TC__BOOT_LOADER_STACK_TOP
        !            77: TC_LB_SIZE = TC__LB_SIZE
1.1       root       78: TC_BOOT_LOADER_AREA_SECTOR_COUNT = TC__BOOT_LOADER_AREA_SECTOR_COUNT
1.1.1.3 ! root       79: TC_BOOT_SECTOR_LOADER_LENGTH_OFFSET = TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET
        !            80: TC_BOOT_SECTOR_LOADER_CHECKSUM_OFFSET = TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET
1.1       root       81: TC_BOOT_SECTOR_CONFIG_OFFSET = TC__BOOT_SECTOR_CONFIG_OFFSET
1.1.1.3 ! root       82: TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR = TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR
        !            83: TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT = TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT
        !            84: TC_BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE = TC__BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE
        !            85: TC_BOOT_LOADER_COMPRESSED_BUFFER_OFFSET = TC__BOOT_LOADER_COMPRESSED_BUFFER_OFFSET
        !            86: TC_BOOT_LOADER_START_SECTOR = TC__BOOT_LOADER_START_SECTOR
        !            87: TC_MAX_BOOT_LOADER_SECTOR_COUNT = TC__MAX_BOOT_LOADER_SECTOR_COUNT
        !            88: TC_MAX_BOOT_LOADER_DECOMPRESSED_SIZE = TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE
        !            89: TC_BOOT_LOADER_BACKUP_SECTOR_COUNT = TC__BOOT_LOADER_BACKUP_SECTOR_COUNT
        !            90: TC_GZIP_HEADER_SIZE = TC__GZIP_HEADER_SIZE
        !            91: TC_BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE = TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE
        !            92: TC_BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER = TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER
        !            93: TC_BOOT_CFG_FLAG_RESCUE_DISK = TC__BOOT_CFG_FLAG_RESCUE_DISK
        !            94: TC_BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER = TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER
1.1       root       95: 
                     96: #else
                     97: 
                     98: #define TC_HEX(N) 0x##N
1.1.1.3 ! root       99: #define TC_UNSIGNED(N) N##U
1.1       root      100: 
                    101: #define TC_BOOT_MEMORY_REQUIRED TC__BOOT_MEMORY_REQUIRED
                    102: #define TC_BOOT_LOADER_SEGMENT TC__BOOT_LOADER_SEGMENT
1.1.1.3 ! root      103: #define TC_COM_EXECUTABLE_OFFSET TC__COM_EXECUTABLE_OFFSET
1.1       root      104: #define TC_BOOT_LOADER_LOWMEM_SEGMENT TC__BOOT_LOADER_LOWMEM_SEGMENT
                    105: #define TC_BOOT_LOADER_BUFFER_SEGMENT TC__BOOT_LOADER_BUFFER_SEGMENT
1.1.1.3 ! root      106: #define TC_BOOT_LOADER_STACK_TOP (TC__BOOT_LOADER_STACK_TOP)
1.1       root      107: #define TC_BOOT_LOADER_AREA_SECTOR_COUNT TC__BOOT_LOADER_AREA_SECTOR_COUNT
1.1.1.3 ! root      108: #define TC_BOOT_SECTOR_LOADER_LENGTH_OFFSET TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET
        !           109: #define TC_BOOT_SECTOR_LOADER_CHECKSUM_OFFSET TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET
        !           110: #define TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR
        !           111: #define TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT
1.1       root      112: #define TC_BOOT_SECTOR_CONFIG_OFFSET TC__BOOT_SECTOR_CONFIG_OFFSET
1.1.1.3 ! root      113: #define TC_BOOT_LOADER_START_SECTOR TC__BOOT_LOADER_START_SECTOR
        !           114: #define TC_LB_SIZE TC__LB_SIZE
        !           115: #define TC_MAX_BOOT_LOADER_SECTOR_COUNT TC__MAX_BOOT_LOADER_SECTOR_COUNT
        !           116: #define TC_MAX_BOOT_LOADER_DECOMPRESSED_SIZE TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE
        !           117: #define TC_BOOT_LOADER_BACKUP_SECTOR_COUNT TC__BOOT_LOADER_BACKUP_SECTOR_COUNT
        !           118: #define TC_GZIP_HEADER_SIZE TC__GZIP_HEADER_SIZE
        !           119: #define TC_BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE
        !           120: #define TC_BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER
        !           121: #define TC_BOOT_CFG_FLAG_RESCUE_DISK TC__BOOT_CFG_FLAG_RESCUE_DISK
        !           122: #define TC_BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER
1.1       root      123: 
                    124: #endif
1.1.1.3 ! root      125: 
        !           126: #endif // TC_HEADER_Boot_BootDefs

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.