Intel® TXT Policy Data Record (Type 0xA) Rules
There can be zero or one Intel® TXT Configuration Policy Record in the FIT.
- If TXT is supported by a platform, single instance of Type 0xA record must exist.
- Type 0xA entry address field must contain an address accessible by the processor at reset vector.
- The address field contains the TXT_CONFIG_POLICY_PTR structure. This structure contains the address, where the TXT Configuration Policy information resides. (Refer section 4.11.1)
- The version field must be set to 0 if TXT_CONFIG_POLICY_PTR describes an Indexed IO type pointer.
- The version field must be set to 1 if TXT_CONFIG_POLICY_PTR describes a flat memory pointer.
- If indexed IO type pointer is used, the Address field holds a structure of the type INDEX_IO_ADDRESS – see section 4.9.1. This structure contains the IO addresses of the index and data register, access width and position of the bit that holds the Intel® TXT policy.
- The indexed IO location must be accessible at reset without any hardware initialization.
- If flat memory type pointer is used, the Address field holds a 64-bit memory address. The memory address should be under 4 GB. Bit0 at this address holds the Intel® TXT Configuration Policy.
- The Intel® TXT Configuration policy says whether Intel® TXT should be enabled or disabled. If TXT Configuration Policy == 0 the Intel® TXT should be disabled. If TXT Configuration Policy == 1 the Intel® TXT should be enabled.
- The default setting is 1. In other words, if this structure is not present or is invalid, the Startup ACM will behave, as if TXT Configuration Policy == 1 but this may create a mismatch between BIOS and ACM TXT processing.
- The C_V bit in this entry should be cleared to 0.
- The Size field is not used. BIOS should set this field to 0.
Table 5. Type 0xA Record Structure
Byte Offsets | 15 | 14 | 13:12 | 11 | 10:8 | 7:0 |
Meaning | Checksum Must be 0 | Bit 7 - C_V Must be 0 Bits 6:0 – Type Must be 8 | Version Must be 0 or | Reserved Must be 0 | Size Must be 0 | Address TXT_CONFIG_POLICY_PTR. Must be INDEX_IO_ADDRESS If Version == 0 or FlatMemoryAddress if Version == 1 |
TXT Configuration Policy
typedef union {
UINT64 FlatMemoryAddress;
INDEX_IO_ADDRESS IndexIo; // see section 4.9.1
} TXT_CONFIG_POLICY_PTR;