coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
smm_relocate.c File Reference
#include <amdblocks/smm.h>
#include <console/console.h>
#include <cpu/amd/amd64_save_state.h>
#include <cpu/amd/msr.h>
#include <cpu/cpu.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/smm.h>
#include <types.h>
Include dependency graph for smm_relocate.c:

Go to the source code of this file.

Functions

static void fill_in_relocation_params (struct smm_relocation_params *params)
 
void get_smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size)
 
void smm_relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase)
 

Variables

static struct smm_relocation_params smm_reloc_params
 

Function Documentation

◆ fill_in_relocation_params()

static void fill_in_relocation_params ( struct smm_relocation_params params)
static

Definition at line 14 of file smm_relocate.c.

References ALIGN_DOWN, cpu_phys_address_size(), KiB, params, smm_region(), SMM_TSEG_WB, and smm_relocation_params::tseg_base.

Referenced by get_smm_info().

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

◆ get_smm_info()

void get_smm_info ( uintptr_t perm_smbase,
size_t perm_smsize,
size_t smm_save_state_size 
)

Definition at line 29 of file smm_relocate.c.

References BIOS_DEBUG, fill_in_relocation_params(), printk, smm_reloc_params, smm_subregion(), and SMM_SUBREGION_HANDLER.

Here is the call graph for this function:

◆ smm_relocation_handler()

void smm_relocation_handler ( int  cpu,
uintptr_t  curr_smbase,
uintptr_t  staggered_smbase 
)

Variable Documentation

◆ smm_reloc_params

struct smm_relocation_params smm_reloc_params
static

Definition at line 1 of file smm_relocate.c.

Referenced by get_smm_info(), and smm_relocation_handler().