![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <types.h>
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) |
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().
int intel_txt_log_acm_error | ( | const uint32_t | acm_error | ) |
Dump the ACM error status bits.
acm_error | The status register to dump |
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().
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().
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().
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().
Definition at line 394 of file common.c.
References ACMSTS_TXT_DISABLED, BIOS_DEBUG, BIOS_ERR, BIOS_INFO, BIT, boot_cpu(), check_precondition(), CONFIG, cpuid_ecx(), CPUID_SMX, CPUID_VMX, FEATURE_ENABLE_VMX, getsec_capabilities(), getsec_parameter(), GETSEC_PARAMS_TXT_EXT_MACHINE_CHECK, msr_struct::hi, IA32_FEATURE_CONTROL, IA32_MC_STATUS, IA32_MCG_STATUS, msr_struct::lo, mca_get_bank_count(), MCA_STATUS_HI_UC, mp_park_aps(), NULL, printk, rdmsr(), read64(), txt_dump_getsec_parameters(), txt_reset_platform(), and TXT_SPAD.
Referenced by init_intel_txt().
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().
Definition at line 84 of file romstage.c.
References BIOS_ERR, BIOS_INFO, CONFIG, CR4_SMXE, die(), intel_txt_run_sclean(), is_establishment_bit_asserted(), is_txt_chipset(), is_txt_cpu(), print_memory_is_locked(), printk, read8(), read_cr4(), read_pmbase32(), TXT_ESTS, TXT_ESTS_TXT_RESET_STS, TXT_ESTS_WAKE_ERROR_STS, txt_reset_platform(), write_cr4(), and write_pmbase32().
Referenced by mainboard_romstage_entry().
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().
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().
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().
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().