![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <assert.h>
#include <string.h>
#include <cpu/x86/lapic.h>
#include <cpu/x86/mp.h>
#include <cpu/intel/em64t101_save_state.h>
#include <cpu/intel/smm_reloc.h>
#include <console/console.h>
#include <smp/node.h>
#include <soc/msr.h>
#include <soc/smmrelocate.h>
Go to the source code of this file.
Functions | |
static void | fill_in_relocation_params (struct smm_relocation_params *params) |
static void | setup_ied_area (struct smm_relocation_params *params) |
void | get_smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) |
static void | update_save_state (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase, struct smm_relocation_params *relo_params) |
void | smm_relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase) |
|
static |
Definition at line 14 of file smmrelocate.c.
References BIOS_WARNING, IS_ALIGNED, KiB, MTRR_PHYS_MASK_VALID, MTRR_TYPE_WRBACK, params, printk, smm_region(), smm_subregion(), and SMM_SUBREGION_CHIPSET.
Referenced by get_smm_info().
Definition at line 71 of file smmrelocate.c.
References fill_in_relocation_params(), smm_relocation_params::ied_size, setup_ied_area(), smm_reloc_params, smm_subregion(), and SMM_SUBREGION_HANDLER.
|
static |
Definition at line 47 of file smmrelocate.c.
References assert, BIOS_DEBUG, KiB, memcpy(), memset(), MiB, params, printk, and ied_header::signature.
Referenced by get_smm_info().
Definition at line 113 of file smmrelocate.c.
References BIOS_DEBUG, msr_struct::lo, MTRR_CAP_MSR, printk, rdmsr(), smm_reloc_params, SMRR_SUPPORTED, update_save_state(), and write_smrr().
|
static |
Definition at line 84 of file smmrelocate.c.
References BIOS_DEBUG, smm_relocation_params::ied_base, initial_lapicid(), printk, save_state, and SMM_DEFAULT_SIZE.
Referenced by smm_relocation_handler().