![]() |
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/x86/cr.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 <cpu/intel/smm_reloc.h>
#include <cpu/intel/em64t100_save_state.h>
#include <cpu/intel/turbo.h>
#include <cpu/intel/common/common.h>
#include <device/device.h>
#include <device/pci.h>
#include <intelblocks/cpulib.h>
#include <lib.h>
#include <soc/msr.h>
#include <soc/cpu.h>
#include <soc/iomap.h>
#include <soc/smm.h>
#include <soc/soc_util.h>
#include <types.h>
Go to the source code of this file.
Functions | |
bool | cpu_soc_is_in_untrusted_mode (void) |
static void | dnv_configure_mca (void) |
static void | configure_thermal_core (void) |
static void | denverton_core_init (struct device *cpu) |
static void | relocation_handler (int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase) |
static void | get_smm_info (uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) |
static unsigned int | detect_num_cpus_via_cpuid (void) |
static unsigned int | detect_num_cpus_via_mch (void) |
int | get_cpu_count (void) |
static void | set_max_turbo_freq (void) |
static void | pre_mp_init (void) |
static void | post_mp_init (void) |
void | mp_init_cpus (struct bus *cpu_bus) |
Variables | |
static struct smm_relocation_attrs | relo_attrs |
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 mp_ops | mp_ops |
Definition at line 66 of file cpu.c.
References msr_struct::hi, IA32_MISC_ENABLE, IA32_PACKAGE_THERM_INTERRUPT, IA32_THERM_INTERRUPT, msr_struct::lo, rdmsr(), THERMAL_MONITOR_ENABLE_BIT, and wrmsr().
Definition at line 26 of file cpu.c.
References ENABLE_IA_UNTRUSTED, msr_struct::lo, MSR_POWER_MISC, and rdmsr().
Definition at line 174 of file cpu.c.
References cpuid_ext(), cpuid_result::ebx, and cpuid_result::ecx.
Referenced by get_cpu_count().
Definition at line 191 of file cpu.c.
References BIOS_DEBUG, DEFAULT_MCHBAR, MCH_BAR_CORE_DISABLE_MASK, MCH_BAR_CORE_EXISTS_MASK, MMIO32, popcnt(), and printk.
Referenced by get_cpu_count().
Definition at line 36 of file cpu.c.
References cpuid, CR4_MCE, cpuid_result::edx, msr_struct::hi, IA32_MCG_CAP, IA32_MCG_CAP_CTL_P_MASK, IA32_MCG_CTL, msr_struct::lo, mca_configure(), rdmsr(), read_cr4(), write_cr4(), and wrmsr().
int get_cpu_count | ( | void | ) |
Definition at line 209 of file cpu.c.
References BIOS_DEBUG, detect_num_cpus_via_cpuid(), detect_num_cpus_via_mch(), and printk.
|
static |
Definition at line 149 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 288 of file cpu.c.
References mp_init_with_smm().
Definition at line 254 of file cpu.c.
References x86_mtrr_check(), and x86_setup_mtrrs_with_detect().
|
static |
Definition at line 131 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, void(), and wrmsr().
Definition at line 220 of file cpu.c.
References BIOS_DEBUG, CPU_BCLK, cpu_config_tdp_levels(), get_turbo_state(), msr_struct::hi, IA32_PERF_CTL, msr_struct::lo, MSR_CONFIG_TDP_NOMINAL, MSR_PLATFORM_INFO, MSR_TURBO_RATIO_LIMIT, printk, rdmsr(), TURBO_ENABLED, and wrmsr().
|
static |
|
static |
|
static |
|
static |
Definition at line 26 of file cpu.c.
Referenced by get_smm_info(), and relocation_handler().