![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <acpi/acpi.h>
#include <assert.h>
#include <console/console.h>
#include "chip.h"
#include <cpu/cpu.h>
#include <cpu/x86/mp.h>
#include <cpu/intel/microcode.h>
#include <cpu/intel/turbo.h>
#include <cpu/intel/common/common.h>
#include <cpu/x86/msr.h>
#include <cpu/x86/mtrr.h>
#include <cpu/x86/smm.h>
#include <cpu/intel/em64t100_save_state.h>
#include <cpu/intel/smm_reloc.h>
#include <device/device.h>
#include <device/pci.h>
#include <fsp/api.h>
#include <intelblocks/cpulib.h>
#include <intelblocks/fast_spi.h>
#include <intelblocks/mp_init.h>
#include <intelblocks/msr.h>
#include <intelblocks/sgx.h>
#include <reg_script.h>
#include <soc/cpu.h>
#include <soc/iomap.h>
#include <soc/pci_devs.h>
#include <soc/pm.h>
#include <types.h>
Go to the source code of this file.
Data Structures | |
struct | smm_relocation_attrs |
Functions | |
bool | cpu_soc_is_in_untrusted_mode (void) |
void | soc_core_init (struct device *cpu) |
static void | soc_init_core (struct device *cpu) |
static void | pre_mp_init (void) |
static void | read_cpu_topology (unsigned int *num_phys, unsigned int *num_virt) |
int | get_cpu_count (void) |
void | get_microcode_info (const void **microcode, int *parallel) |
static void | get_smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) |
static void | relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase) |
static void | post_mp_init (void) |
void | soc_init_cpus (struct bus *cpu_bus) |
void | apollolake_init_cpus (struct device *dev) |
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 struct smm_relocation_attrs | relo_attrs |
static const struct mp_ops | mp_ops |
Definition at line 263 of file cpu.c.
References CONFIG, fast_spi_cache_bios_region(), device::link_list, and soc_init_cpus().
Definition at line 49 of file cpu.c.
References ENABLE_IA_UNTRUSTED, msr_struct::lo, MSR_POWER_MISC, and rdmsr().
int get_cpu_count | ( | void | ) |
Definition at line 168 of file cpu.c.
References BIOS_DEBUG, printk, and read_cpu_topology().
Definition at line 180 of file cpu.c.
References intel_microcode_find(), and intel_microcode_load_unlocked().
|
static |
Definition at line 190 of file cpu.c.
References MTRR_PHYS_MASK_VALID, MTRR_TYPE_WRBACK, relo_attrs, smm_relocation_attrs::smbase, smm_region(), smm_subregion(), SMM_SUBREGION_HANDLER, smm_relocation_attrs::smrr_base, and smm_relocation_attrs::smrr_mask.
Definition at line 147 of file cpu.c.
References CONFIG, fsps_load(), x86_mtrr_check(), and x86_setup_mtrrs_with_detect().
Definition at line 159 of file cpu.c.
References msr_struct::lo, MSR_CORE_THREAD_COUNT, and rdmsr().
Referenced by get_cpu_count().
|
static |
Definition at line 215 of file cpu.c.
References msr_struct::hi, IA32_SMRR_PHYS_BASE, IA32_SMRR_PHYS_MASK, msr_struct::lo, relo_attrs, SMM_EM64T100_SAVE_STATE_OFFSET, smm_relocation_attrs::smrr_base, smm_relocation_attrs::smrr_mask, and wrmsr().
Definition at line 57 of file cpu.c.
References acpi_get_sleep_type(), ACPI_S5, CONFIG, core_msr_script, cpu_set_eist(), cpu_set_p_state_to_max_non_turbo_ratio(), cpu_set_p_state_to_min_clock_ratio(), enable_pm_timer_emulation(), mca_configure(), prmrr_core_configure(), reg_script_run(), and set_aesni_lock().
Definition at line 256 of file cpu.c.
References mp_init_with_smm().
|
static |
|
static |
Definition at line 1 of file cpu.c.
Referenced by soc_core_init().
|
static |
|
static |
|
static |
Definition at line 94 of file cpu.c.
Referenced by get_smm_info(), and relocation_handler().