![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <console/console.h>
#include <cpu/cpu.h>
#include <cpu/intel/common/common.h>
#include <cpu/intel/em64t100_save_state.h>
#include <cpu/intel/microcode.h>
#include <cpu/intel/smm_reloc.h>
#include <cpu/intel/turbo.h>
#include <cpu/x86/lapic.h>
#include <cpu/x86/mp.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/mtrr.h>
#include <cpu/x86/smm.h>
#include <device/device.h>
#include <reg_script.h>
#include <soc/iosf.h>
#include <soc/msr.h>
#include <soc/pattrs.h>
#include <soc/ramstage.h>
#include <types.h>
Go to the source code of this file.
Functions | |
static void | soc_core_init (struct device *cpu) |
static void | pre_mp_init (void) |
static int | get_cpu_count (void) |
static void | fill_in_relocation_params (struct smm_relocation_params *params) |
static void | get_smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) |
static void | get_microcode_info (const void **microcode, int *parallel) |
static void | per_cpu_smm_trigger (void) |
static void | relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase) |
static void | post_mp_init (void) |
void | mp_init_cpus (struct bus *cpu_bus) |
Variables | |
static const struct reg_script | core_msr_script [] |
static struct device_operations | cpu_dev_ops |
static const struct cpu_device_id | cpu_table [] |
static const struct cpu_driver driver | __cpu_driver |
static const struct reg_script | package_msr_script [] |
static const struct mp_ops | mp_ops |
|
static |
Definition at line 120 of file cpu.c.
References MTRR_PHYS_MASK_VALID, MTRR_TYPE_WRBACK, params, and smm_region().
Referenced by get_smm_info().
|
static |
Definition at line 113 of file cpu.c.
References pattrs::num_cpus, and pattrs_get().
Definition at line 149 of file cpu.c.
References intel_ht_supported(), pattrs::microcode_patch, and pattrs_get().
|
static |
Definition at line 137 of file cpu.c.
References BIOS_DEBUG, fill_in_relocation_params(), printk, smm_reloc_params, smm_subregion(), and SMM_SUBREGION_HANDLER.
Definition at line 197 of file cpu.c.
References mp_init_with_smm().
Definition at line 157 of file cpu.c.
References intel_microcode_load_unlocked(), pattrs::microcode_patch, pattrs_get(), and smm_initiate_relocation().
Definition at line 91 of file cpu.c.
References BUNIT_SMRWAC, enable_turbo(), iosf_bunit_read(), iosf_bunit_write(), package_msr_script, reg_script_run(), SAI_IA_UNTRUSTED, x86_mtrr_check(), and x86_setup_mtrrs_with_detect().
|
static |
Definition at line 168 of file cpu.c.
References IA32_SMRR_PHYS_BASE, IA32_SMRR_PHYS_MASK, SMM_EM64T100_SAVE_STATE_OFFSET, smm_reloc_params, smm_relocation_params::smrr_base, smm_relocation_params::smrr_mask, and wrmsr().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 35 of file cpu.c.
Referenced by pre_mp_init().