14 #include <soc/pci_devs.h>
18 #include <soc/iomap.h>
56 "mp_init_with_smm failed. Halting.\n");
80 if (psp_msr.
lo == 0) {
@ CB_SUCCESS
Call completed successfully.
#define die_with_post_code(value, fmt,...)
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 mtrr_use_temp_range(uintptr_t begin, size_t size, int type)
void x86_setup_mtrrs_with_detect(void)
static __always_inline msr_t rdmsr(unsigned int index)
static __always_inline void wrmsr(unsigned int index, msr_t msr)
void global_smi_enable(void)
Set the EOS bit and enable SMI generation from southbridge.
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
#define PCI_BASE_ADDRESS_MEM_ATTR_MASK
#define PCI_BASE_ADDRESS_4
#define POST_HW_INIT_FAILURE
Hardware initialization failure.
void mp_init_cpus(struct bus *cpu_bus)
void set_warm_reset_flag(void)
static void pre_mp_init(void)
static const struct cpu_driver model_15 __cpu_driver
static struct cpu_device_id cpu_table[]
static struct device_operations cpu_dev_ops
static void model_15_init(struct device *dev)
static void get_smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size)
struct device_operations * ops
void(* init)(struct device *dev)
void(* pre_mp_init)(void)