coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
psp_smm.c File Reference
#include <device/mmio.h>
#include <cpu/x86/msr.h>
#include <cpu/amd/msr.h>
#include <region_file.h>
#include <console/console.h>
#include <amdblocks/psp.h>
#include <soc/iomap.h>
#include <string.h>
#include "psp_def.h"
Include dependency graph for psp_smm.c:

Go to the source code of this file.

Macros

#define C2P_BUFFER_MAXSIZE   0xc00 /* Core-to-PSP buffer */
 
#define P2C_BUFFER_MAXSIZE   0xc00 /* PSP-to-core buffer */
 

Functions

static void set_smm_flag (void)
 
static void clear_smm_flag (void)
 
int psp_notify_smm (void)
 
void psp_notify_sx_info (u8 sleep_type)
 

Variables

struct {
   u8   buffer [C2P_BUFFER_MAXSIZE]
 
c2p_buffer
 
struct {
   u8   buffer [P2C_BUFFER_MAXSIZE]
 
p2c_buffer
 
static uint32_t smm_flag
 

Macro Definition Documentation

◆ C2P_BUFFER_MAXSIZE

#define C2P_BUFFER_MAXSIZE   0xc00 /* Core-to-PSP buffer */

Definition at line 14 of file psp_smm.c.

◆ P2C_BUFFER_MAXSIZE

#define P2C_BUFFER_MAXSIZE   0xc00 /* PSP-to-core buffer */

Definition at line 15 of file psp_smm.c.

Function Documentation

◆ clear_smm_flag()

static void clear_smm_flag ( void  )
static

Definition at line 32 of file psp_smm.c.

References smm_flag.

Referenced by psp_notify_smm(), and psp_notify_sx_info().

Here is the caller graph for this function:

◆ psp_notify_smm()

int psp_notify_smm ( void  )

◆ psp_notify_sx_info()

void psp_notify_sx_info ( u8  sleep_type)

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().

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

◆ set_smm_flag()

static void set_smm_flag ( void  )
static

Definition at line 27 of file psp_smm.c.

References smm_flag.

Referenced by psp_notify_smm(), and psp_notify_sx_info().

Here is the caller graph for this function:

Variable Documentation

◆ buffer

Definition at line 18 of file psp_smm.c.

Referenced by acpigen_dptc_call_alib(), acpigen_dsm_uuid_enum_functions(), acpigen_write_processor_cnot(), add_fw_config_oem_string(), buffer_from_fifo32(), buffer_to_fifo32(), buffer_to_fifo32_prefix(), bus_path(), cbfs_copy_fill_metadata(), cbfs_dev_read(), cbfs_file_hash_mismatch(), cbfs_load_and_decompress(), cbmemc_copy_in(), console_write_line(), cr50_i2c_read(), cr50_i2c_write(), dev_path(), dptx_check_sinkcap(), dptx_set_trainingstart(), eeprom_write_byte(), elog_debug_dump_buffer(), elog_is_buffer_clear(), flashconsole_init(), fmap_overwrite_area(), fmap_read_area(), free_fn_data(), from_tpm_uint16(), from_tpm_uint32(), fsp_write_line(), gcov_read_counter(), gcov_read_unsigned(), gcov_write_length(), gcov_write_string(), gcov_write_tag(), gcov_write_unsigned(), get_board_id(), get_ec_boardinfo(), get_panel_from_cbfs(), google_chromeec_i2c_xfer(), iic_tpm_read(), iic_tpm_write(), iic_tpm_write_generic(), iic_tpm_write_long(), inb(), inl(), inw(), load_cached_fpf(), mec_io_bytes(), mipi_dsi_dcs_write(), mmc_bus_tuning(), mmc_send_tuning_seq(), mrc_cache_load_current(), nor_write(), pmm_handleInt(), psp_notify_boot_done(), psp_notify_dram(), psp_notify_smm(), psp_notify_sx_info(), psp_set_spl_fuse(), read_bytes(), read_flash(), readSmbusByte(), readSmbusByteData(), readspd(), resource_type(), sch5545_emi_ec_read32_bulk(), sch5545_emi_ec_write32_bulk(), sdhci_transfer_data(), send_psp_command(), set_tpm_command_size(), smbus_block_read(), smbus_block_write(), storage_block_fill_write(), storage_block_read(), storage_block_write(), storage_test(), tis_readresponse(), to_tpm_uint16(), to_tpm_uint32(), tpm_command_code(), tpm_command_size(), tpm_return_code(), trace_dump(), trim_trailing_whitespace(), twsi_read_data(), twsi_write_data(), vboot_extend_pcr(), vpd_gets(), wr_mbox_buffer_ptr(), wr_mbox_cmd_resp(), write_bytes(), and write_flash().

◆ 

struct { ... } c2p_buffer

◆ 

struct { ... } p2c_buffer

Referenced by psp_notify_smm().

◆ smm_flag

uint32_t smm_flag
static

Definition at line 25 of file psp_smm.c.

Referenced by clear_smm_flag(), psp_notify_smm(), and set_smm_flag().