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

Go to the source code of this file.

Functions

int load_stm_image (uintptr_t mseg)
 
void stm_setup (uintptr_t mseg, int cpu, uintptr_t smbase, uintptr_t smbase_base, uint32_t offset32)
 
int add_pi_resource (STM_RSC *resource_list, uint32_t num_entries)
 
int delete_pi_resource (STM_RSC *resource_list, uint32_t num_entries)
 
int get_pi_resource (STM_RSC *resource_list, uint32_t *resource_size)
 
void notify_stm_resource_change (void *stm_resource)
 
voidget_stm_resource (void)
 
void setup_smm_descriptor (void *smbase, int32_t apic_id, int32_t entry32_off)
 
bool stm_check_stm_image (void *stm_image, uint32_t stm_image_size)
 
void stm_gen_4g_pagetable_ia32 (uint32_t pagetable_base)
 
void stm_gen_4g_pagetable_x64 (uint32_t pagetable_base)
 

Function Documentation

◆ add_pi_resource()

int add_pi_resource ( STM_RSC resource_list,
uint32_t  num_entries 
)

Definition at line 470 of file SmmStm.c.

References add_resource(), BIOS_DEBUG, get_resource_size(), m_rsc_end_node, m_stm_resource_size_available, m_stm_resource_size_used, m_stm_resource_total_size, m_stm_resources_ptr, memcpy(), memset(), NULL, printk, stm_resource_heap, validate_resource(), and wbinvd().

Referenced by add_msr_resources(), and add_simple_resources().

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

◆ delete_pi_resource()

int delete_pi_resource ( STM_RSC resource_list,
uint32_t  num_entries 
)

Definition at line 523 of file SmmStm.c.

References m_rsc_end_node, m_stm_resource_size_available, m_stm_resource_size_used, m_stm_resource_total_size, m_stm_resources_ptr, memcpy(), and NULL.

Here is the call graph for this function:

◆ get_pi_resource()

int get_pi_resource ( STM_RSC resource_list,
uint32_t resource_size 
)

Definition at line 551 of file SmmStm.c.

References m_stm_resource_size_used, m_stm_resources_ptr, and memcpy().

Here is the call graph for this function:

◆ get_stm_resource()

void* get_stm_resource ( void  )

Definition at line 675 of file SmmStm.c.

References m_stm_resources_ptr.

Referenced by setup_smm_descriptor().

Here is the caller graph for this function:

◆ load_stm_image()

◆ notify_stm_resource_change()

void notify_stm_resource_change ( void stm_resource)

◆ setup_smm_descriptor()

◆ stm_check_stm_image()

bool stm_check_stm_image ( void stm_image,
uint32_t  stm_image_size 
)

◆ stm_gen_4g_pagetable_ia32()

void stm_gen_4g_pagetable_ia32 ( uint32_t  pagetable_base)

◆ stm_gen_4g_pagetable_x64()

void stm_gen_4g_pagetable_x64 ( uint32_t  pagetable_base)

Definition at line 592 of file SmmStm.c.

References IA32_PG_P, IA32_PG_PS, IA32_PG_RW, PTP_SIZE, and SIZE_4KB.

Referenced by load_stm_image().

Here is the caller graph for this function:

◆ stm_setup()

void stm_setup ( uintptr_t  mseg,
int  cpu,
uintptr_t  smbase,
uintptr_t  smbase_base,
uint32_t  offset32 
)