12 #include <soc/soc_util.h>
36 cpuid_regs =
cpuid(1);
37 if ((cpuid_regs.
edx & (1<<7 | 1<<14)) != (1<<7 | 1<<14))
43 msr.
lo = msr.
hi = 0xffffffff;
101 msr.
hi = (
chip_config->turbo_ratio_limit >> 32) & 0xffffffff;
106 msr.
hi = (
chip_config->turbo_ratio_limit_cores >> 32) & 0xffffffff;
169 perf_ctl.
lo = (msr.
lo & 0xff) << 8;
173 perf_ctl.
lo = (msr.
lo & 0xff) << 8;
177 perf_ctl.
lo = msr.
lo & 0xff00;
206 if (
CONFIG(HAVE_SMI_HANDLER))
#define assert(statement)
#define printk(level,...)
#define MSR_MISC_PWR_MGMT
#define MSR_TURBO_RATIO_LIMIT
#define MSR_TURBO_ACTIVATION_RATIO
#define MSR_VR_CURRENT_CONFIG
int cpu_config_tdp_levels(void)
#define MSR_CONFIG_TDP_NOMINAL
#define MSR_PKG_CST_CONFIG_CONTROL
void smm_relocation_handler(int cpu, uintptr_t curr_smbase, uintptr_t staggered_smbase)
enum cb_err mp_init_with_smm(struct bus *cpu_bus, const struct mp_ops *mp_ops)
void x86_mtrr_check(void)
void x86_setup_mtrrs_with_detect(void)
#define CPUID_SKYLAKE_SP_4
#define CPUID_SKYLAKE_SP_B0
#define CPUID_SKYLAKE_SP_A0_A1
const char * dev_path(const struct device *dev)
#define MSR_PLATFORM_INFO
#define FAST_STRINGS_ENABLE_BIT
static __always_inline msr_t rdmsr(unsigned int index)
static __always_inline void wrmsr(unsigned int index, msr_t msr)
#define SPEED_STEP_ENABLE_BIT
void global_smi_enable(void)
Set the EOS bit and enable SMI generation from southbridge.
void config_reset_cpl3_csrs(void)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
void smm_southbridge_clear_state(void)
bool cpu_soc_is_in_untrusted_mode(void)
static void get_smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size)
#define IA32_MCG_CAP_CTL_P_MASK
#define CURRENT_LIMIT_LOCK
#define MSR_TURBO_RATIO_LIMIT_CORES
#define PROCHOT_LOCK_ENABLE
#define HWP_EPP_ENUM_ENABLE
#define ENERGY_PERF_BIAS_ACCESS_ENABLE
#define PWR_PERF_TUNING_DYN_SWITCHING_ENABLE
#define MSR_IA32_PERF_CTRL
#define PKG_CSTATE_NO_LIMIT
#define LOCK_MISC_PWR_MGMT_MSR
#define EPB_ENERGY_POLICY_SHIFT
#define MSR_ENERGY_PERF_BIAS_CONFIG
#define EPB_ENERGY_POLICY_MASK
#define MSR_IA32_ENERGY_PERF_BIAS
#define MAX_NON_TURBO_RATIO
int get_platform_thread_count(void)
void xeonsp_init_cpu_config(void)
static void set_max_turbo_freq(void)
static void xeon_configure_mca(void)
static const struct cpu_driver driver __cpu_driver
static void xeon_sp_core_init(struct device *cpu)
static const config_t * chip_config
void xeon_sp_init_cpus(struct device *dev)
static void pre_mp_init(void)
static const struct cpu_device_id cpu_table[]
static struct device_operations cpu_dev_ops
static void post_mp_init(void)
struct device_operations * ops
void(* init)(struct device *dev)
DEVTREE_CONST struct bus * link_list
DEVTREE_CONST void * chip_info
void(* pre_mp_init)(void)
int get_turbo_state(void)