![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | smm_trigger_info |
struct | smm_register |
struct | smm_register_info |
Macros | |
#define | SMM_TRIGGER_IO 0 |
#define | SMM_TRIGGER_MEM 1 |
#define | SMM_TRIGGER_BYTE 0 |
#define | SMM_TRIGGER_WORD 1 |
#define | SMM_TRIGGER_DWORD 2 |
#define | PSPSTS_SUCCESS 0 |
#define | PSPSTS_NOBASE 1 |
#define | PSPSTS_HALTED 2 |
#define | PSPSTS_RECOVERY 3 |
#define | PSPSTS_SEND_ERROR 4 |
#define | PSPSTS_INIT_TIMEOUT 5 |
#define | PSPSTS_CMD_TIMEOUT 6 |
#define | PSPSTS_UNSUPPORTED 7 |
#define | PSPSTS_INVALID_NAME 8 |
#define | PSPSTS_INVALID_BLOB 9 |
Enumerations | |
enum | psp_blob_type { BLOB_SMU_FW , BLOB_SMU_FW2 } |
Functions | |
void | soc_fill_smm_trig_info (struct smm_trigger_info *trig) |
void | soc_fill_smm_reg_info (struct smm_register_info *reg) |
int | psp_notify_dram (void) |
int | psp_notify_smm (void) |
void | psp_notify_sx_info (u8 sleep_type) |
int | psp_load_named_blob (enum psp_blob_type type, const char *name) |
Variables | |
struct smm_trigger_info | __packed |
enum psp_blob_type |
int psp_load_named_blob | ( | enum psp_blob_type | type, |
const char * | name | ||
) |
Definition at line 153 of file psp_gen1.c.
References BIOS_DEBUG, BIOS_ERR, BLOB_SMU_FW, BLOB_SMU_FW2, cbfs_map(), cbfs_unmap(), CONFIG, MBOX_BIOS_CMD_SMU_FW, MBOX_BIOS_CMD_SMU_FW2, name, NULL, printk, psp_print_cmd_status(), PSPSTS_INVALID_BLOB, PSPSTS_INVALID_NAME, PSPSTS_UNSUPPORTED, send_psp_command(), and type.
Referenced by car_stage_entry(), and earliest_ramstage().
int psp_notify_dram | ( | void | ) |
Definition at line 197 of file psp_gen1.c.
References BIOS_DEBUG, buffer, MBOX_BIOS_CMD_DRAM_INFO, printk, psp_print_cmd_status(), and send_psp_command().
Referenced by car_stage_entry().
int psp_notify_smm | ( | void | ) |
Definition at line 37 of file psp_smm.c.
References BIOS_DEBUG, buffer, c2p_buffer, clear_smm_flag(), msr_struct::hi, msr_struct::lo, MBOX_BIOS_CMD_SMM_INFO, p2c_buffer, printk, psp_print_cmd_status(), rdmsr(), send_psp_command(), set_smm_flag(), SMM_ADDR_MSR, smm_flag, SMM_MASK_MSR, soc_fill_smm_reg_info(), and soc_fill_smm_trig_info().
Referenced by fch_apmc_smi_handler().
Definition at line 77 of file psp_smm.c.
References BIOS_DEBUG, BIOS_ERR, buffer, c2p_buffer, clear_smm_flag(), MBOX_BIOS_CMD_SX_INFO, MBOX_BIOS_CMD_SX_INFO_SLEEP_TYPE_MAX, memset(), printk, psp_print_cmd_status(), send_psp_command(), set_smm_flag(), and mbox_cmd_sx_info_buffer::sleep_type.
Referenced by fch_slp_typ_handler().
void soc_fill_smm_reg_info | ( | struct smm_register_info * | reg | ) |
Definition at line 20 of file psp_smm_gen2.c.
References acpimmio_smi, smm_register::address, smm_register::address_type, smm_register_info::eos, smm_register::expect_value, smm_register_info::psp_smi_en, smm_register::reg_bit_mask, smm_register_info::smi_enb, SMI_MODE_MASK, SMI_MODE_SMI, SMI_REG_CONTROL0, SMI_REG_SMITRIG0, SMITRG0_EOS, SMITRG0_SMIENB, SMITYPE_PSP, SMM_TRIGGER_DWORD, SMM_TRIGGER_MEM, and smm_register::value_width.
Referenced by psp_notify_smm().
void soc_fill_smm_trig_info | ( | struct smm_trigger_info * | trig | ) |
Definition at line 8 of file psp_smm_gen2.c.
References acpimmio_smi, smm_trigger_info::address, smm_trigger_info::address_type, SMI_REG_SMITRIG0, SMITRIG0_PSP, SMM_TRIGGER_DWORD, SMM_TRIGGER_MEM, smm_trigger_info::value_and_mask, smm_trigger_info::value_or_mask, and smm_trigger_info::value_width.
Referenced by psp_notify_smm().
struct smm_register_info __packed |