![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
#include <stddef.h>
#include <cbfs.h>
#include <arch/cpu.h>
#include <console/console.h>
#include <cpu/x86/msr.h>
#include <cpu/intel/microcode.h>
#include <smp/spinlock.h>
Go to the source code of this file.
Data Structures | |
struct | microcode |
struct | ext_sig_table |
struct | ext_sig_entry |
Macros | |
#define | MICROCODE_CBFS_FILE "cpu_microcode_blob.bin" |
Functions | |
static u32 | read_microcode_rev (void) |
void | intel_microcode_load_unlocked (const void *microcode_patch) |
uint32_t | get_current_microcode_rev (void) |
uint32_t | get_microcode_rev (const void *microcode) |
uint32_t | get_microcode_size (const void *microcode) |
uint32_t | get_microcode_checksum (const void *microcode) |
static struct ext_sig_table * | ucode_get_ext_sig_table (const struct microcode *ucode) |
static const void * | find_cbfs_microcode (void) |
const void * | intel_microcode_find (void) |
void | intel_update_microcode_from_cbfs (void) |
#define MICROCODE_CBFS_FILE "cpu_microcode_blob.bin" |
Definition at line 69 of file microcode.c.
Definition at line 153 of file microcode.c.
References BIOS_DEBUG, BIOS_SPEW, BIOS_WARNING, c, cbfs_map(), cpuid_eax(), ext_sig_table::ext_sig_cnt, get_fms(), msr_struct::hi, IA32_PLATFORM_ID, MICROCODE_CBFS_FILE, NULL, microcode::pf, ext_sig_entry::pf, printk, rdmsr(), read_microcode_rev(), microcode::sig, ext_sig_entry::sig, microcode::total_size, and ucode_get_ext_sig_table().
Referenced by intel_microcode_find().
Definition at line 112 of file microcode.c.
References read_microcode_rev().
Referenced by ap_init(), and report_cpu_info().
Definition at line 127 of file microcode.c.
Definition at line 117 of file microcode.c.
Definition at line 122 of file microcode.c.
Referenced by fill_fsps_cpu_params().
Definition at line 223 of file microcode.c.
References find_cbfs_microcode().
Referenced by coreboot_init_cpus(), cpx_init_cpus(), fill_fsps_cpu_params(), fill_in_pattrs(), get_microcode_info(), intel_update_microcode_from_cbfs(), per_cpu_smm_trigger(), pre_mp_init(), and sgx_configure().
Definition at line 71 of file microcode.c.
References BIOS_DEBUG, BIOS_INFO, msr_struct::hi, IA32_BIOS_UPDT_TRIG, msr_struct::lo, m, microcode_patch, printk, read_microcode_rev(), soc_skip_ucode_update(), and wrmsr().
Referenced by coreboot_init_cpus(), cpx_init_cpus(), get_microcode_info(), intel_update_microcode_from_cbfs(), per_cpu_smm_trigger(), pre_mp_init(), and sgx_configure().
Definition at line 242 of file microcode.c.
References intel_microcode_find(), intel_microcode_load_unlocked(), spin_lock, and spin_unlock.
Definition at line 44 of file microcode.c.
References msr_struct::hi, and msr_struct::lo.
Referenced by find_cbfs_microcode(), get_current_microcode_rev(), and intel_microcode_load_unlocked().
|
static |
Definition at line 133 of file microcode.c.
References microcode::data_size, ext_sig_table::ext_sig_cnt, NULL, and microcode::total_size.
Referenced by find_cbfs_microcode().