coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
txt.h File Reference
#include <types.h>
Include dependency graph for txt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ACM_E_TYPE_NOT_MATCH   0x01
 
#define ACM_E_MODULE_SUB_TYPE_WRONG   0x02
 
#define ACM_E_MODULE_VENDOR_NOT_INTEL   0x03
 
#define ACM_E_SIZE_INCORRECT   0x04
 
#define ACM_E_CANT_CALL_GETSEC   0x05
 
#define ACM_E_NOT_FIT_INTO_CPU_ACM_MEM   0x06
 
#define ACM_E_NO_INFO_TABLE   0x07
 
#define ACM_E_NOT_BIOS_ACM   0x08
 
#define ACM_E_UUID_NOT_MATCH   0x09
 
#define ACM_E_PLATFORM_IS_NOT_PROD   0x10
 

Functions

void intel_txt_romstage_init (void)
 
void __noreturn txt_reset_platform (void)
 
void intel_txt_log_bios_acm_error (void)
 Dump useful informaation about the BIOS ACM state. More...
 
int intel_txt_log_acm_error (const uint32_t acm_error)
 Dump the ACM error status bits. More...
 
void intel_txt_log_spad (void)
 
bool intel_txt_memory_has_secrets (void)
 
bool intel_txt_chipset_is_production_fused (void)
 
void intel_txt_run_sclean (void)
 
int intel_txt_run_bios_acm (const u8 input_params)
 
bool intel_txt_prepare_txt_env (void)
 
bool skip_intel_txt_lockdown (void)
 
const char * intel_txt_processor_error_type (uint8_t type)
 

Macro Definition Documentation

◆ ACM_E_CANT_CALL_GETSEC

#define ACM_E_CANT_CALL_GETSEC   0x05

Definition at line 13 of file txt.h.

◆ ACM_E_MODULE_SUB_TYPE_WRONG

#define ACM_E_MODULE_SUB_TYPE_WRONG   0x02

Definition at line 10 of file txt.h.

◆ ACM_E_MODULE_VENDOR_NOT_INTEL

#define ACM_E_MODULE_VENDOR_NOT_INTEL   0x03

Definition at line 11 of file txt.h.

◆ ACM_E_NO_INFO_TABLE

#define ACM_E_NO_INFO_TABLE   0x07

Definition at line 15 of file txt.h.

◆ ACM_E_NOT_BIOS_ACM

#define ACM_E_NOT_BIOS_ACM   0x08

Definition at line 16 of file txt.h.

◆ ACM_E_NOT_FIT_INTO_CPU_ACM_MEM

#define ACM_E_NOT_FIT_INTO_CPU_ACM_MEM   0x06

Definition at line 14 of file txt.h.

◆ ACM_E_PLATFORM_IS_NOT_PROD

#define ACM_E_PLATFORM_IS_NOT_PROD   0x10

Definition at line 18 of file txt.h.

◆ ACM_E_SIZE_INCORRECT

#define ACM_E_SIZE_INCORRECT   0x04

Definition at line 12 of file txt.h.

◆ ACM_E_TYPE_NOT_MATCH

#define ACM_E_TYPE_NOT_MATCH   0x01

Definition at line 9 of file txt.h.

◆ ACM_E_UUID_NOT_MATCH

#define ACM_E_UUID_NOT_MATCH   0x09

Definition at line 17 of file txt.h.

Function Documentation

◆ intel_txt_chipset_is_production_fused()

bool intel_txt_chipset_is_production_fused ( void  )

Definition at line 149 of file common.c.

References read32(), true, TXT_VER_FSBIF, TXT_VER_PRODUCTION_FUSED, TXT_VER_QPIIF, and UINT32_MAX.

Referenced by txt_dump_chipset_info(), and validate_acm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intel_txt_log_acm_error()

int intel_txt_log_acm_error ( const uint32_t  acm_error)

Dump the ACM error status bits.

Parameters
acm_errorThe status register to dump
Returns
-1 on error (register is not valid) 0 on error (Class > 0 and Major > 0) 1 on success (Class == 0 and Major == 0 and progress > 0)

Definition at line 49 of file common.c.

References ACMERROR_TXT_AC_MODULE_TYPE_BIOS, ACMERROR_TXT_AC_MODULE_TYPE_SINIT, ACMERROR_TXT_CLASS_CODE, ACMERROR_TXT_CLASS_SHIFT, ACMERROR_TXT_EXTERNAL, ACMERROR_TXT_MAJOR_CODE, ACMERROR_TXT_MAJOR_SHIFT, ACMERROR_TXT_MINOR_CODE, ACMERROR_TXT_MINOR_SHIFT, ACMERROR_TXT_PROGRESS_CODE, ACMERROR_TXT_PROGRESS_SHIFT, ACMERROR_TXT_TYPE_CODE, ACMERROR_TXT_TYPE_SHIFT, ACMERROR_TXT_VALID, BIOS_ERR, printk, and type.

Referenced by check_secrets_txt(), intel_txt_log_bios_acm_error(), intel_txt_run_bios_acm(), and mainboard_romstage_entry().

Here is the caller graph for this function:

◆ intel_txt_log_bios_acm_error()

void intel_txt_log_bios_acm_error ( void  )

Dump useful informaation about the BIOS ACM state.

Should run right after console_init() in romstage. Resets the platform if TXT reset is active and MLE cannot be established.

Definition at line 58 of file logging.c.

References ACMERROR_TXT_VALID, BIOS_CRIT, BIOS_INFO, intel_txt_log_acm_error(), log_txt_error(), printk, read32(), read64(), read8(), TXT_BIOSACM_ERRORCODE, TXT_ERROR, TXT_ESTS, TXT_ESTS_TXT_RESET_STS, and TXT_SPAD.

Referenced by init_intel_txt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intel_txt_log_spad()

void intel_txt_log_spad ( void  )

Definition at line 101 of file common.c.

References ACMSTS_BIOS_TRUSTED, ACMSTS_IBB_MEASURED, ACMSTS_TXT_DISABLED, ACMSTS_VERIFICATION_ERROR, BIOS_INFO, printk, read64(), and TXT_SPAD.

Referenced by init_intel_txt(), and mainboard_romstage_entry().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intel_txt_memory_has_secrets()

bool intel_txt_memory_has_secrets ( void  )

Definition at line 135 of file common.c.

References BIOS_CRIT, CONFIG, printk, read64(), read8(), TXT_E2STS, TXT_E2STS_SECRET_STS, TXT_ESTS, and TXT_ESTS_WAKE_ERROR_STS.

Referenced by check_secrets_txt(), mainboard_romstage_entry(), and security_clear_dram_request().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intel_txt_prepare_txt_env()

◆ intel_txt_processor_error_type()

const char* intel_txt_processor_error_type ( uint8_t  type)

Definition at line 12 of file logging.c.

References ARRAY_SIZE, and type.

Referenced by intel_cbnt_log_registers(), and log_txt_error().

Here is the caller graph for this function:

◆ intel_txt_romstage_init()

void intel_txt_romstage_init ( void  )

◆ intel_txt_run_bios_acm()

int intel_txt_run_bios_acm ( const u8  input_params)

Definition at line 353 of file common.c.

References ACMERROR_TXT_VALID, BIOS_ERR, cbfs_unmap(), getsec_enteraccs(), intel_txt_log_acm_error(), intel_txt_prepare_bios_acm(), printk, read32(), read64(), TXT_BIOSACM_ERRORCODE, and TXT_SPAD.

Referenced by check_secrets_txt(), init_intel_txt(), and lockdown_intel_txt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intel_txt_run_sclean()

void intel_txt_run_sclean ( void  )

Definition at line 313 of file common.c.

References BIOACM_ADDR, BIOS_ALERT, BIOS_CRIT, cbfs_unmap(), getsec_sclean(), intel_txt_prepare_bios_acm(), printk, SEMAPHORE, and write32().

Referenced by intel_txt_romstage_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ skip_intel_txt_lockdown()

bool skip_intel_txt_lockdown ( void  )

Definition at line 359 of file ramstage.c.

References BIOS_DEBUG, BIOS_INFO, printk, SKIP_INTEL_TXT_LOCKDOWN, SKIP_INTEL_TXT_LOCKDOWN_DEFAULT, vpd_get_bool(), and VPD_RW_THEN_RO.

Referenced by dmi3_init(), iio_dfx_global_init(), and lockdown_intel_txt().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ txt_reset_platform()

void __noreturn txt_reset_platform ( void  )

Definition at line 29 of file common.c.

References full_reset(), global_reset(), and set_global_reset().

Referenced by intel_txt_prepare_txt_env(), and intel_txt_romstage_init().

Here is the call graph for this function:
Here is the caller graph for this function: