microcode_ops
static struct microcode_ops microcode_amd_ops = {
struct microcode_ops * __init init_amd_microcode(void)
if (!microcode_ops->use_nmi && !(timeout % USEC_PER_MSEC)) {
if (!microcode_ops->use_nmi && !(timeout % USEC_PER_MSEC)) {
ret = microcode_ops->apply_microcode(cpu);
static struct microcode_ops *microcode_ops;
ret = microcode_ops->apply_microcode(cpu);
if (microcode_ops->use_nmi) {
if (microcode_ops->use_staging)
microcode_ops->stage_microcode();
if (microcode_ops->use_nmi)
if (microcode_ops->use_nmi)
if (microcode_ops->finalize_late_load)
microcode_ops->finalize_late_load(!updated);
allow_smt_offline = microcode_ops->nmi_safe ||
(microcode_ops->use_nmi && apic->nmi_to_offline_cpu);
switch (microcode_ops->request_microcode_fw(0, µcode_fdev->dev)) {
if (microcode_ops->microcode_fini_cpu)
microcode_ops->microcode_fini_cpu(cpu);
microcode_ops->apply_microcode(cpu);
microcode_ops->collect_cpu_info(cpu, &uci->cpu_sig);
microcode_ops = init_intel_microcode();
microcode_ops = init_amd_microcode();
if (!microcode_ops)
static struct microcode_ops microcode_intel_ops = {
struct microcode_ops * __init init_intel_microcode(void)
struct microcode_ops *init_amd_microcode(void);
static inline struct microcode_ops *init_amd_microcode(void) { return NULL; }
struct microcode_ops *init_intel_microcode(void);
static inline struct microcode_ops *init_intel_microcode(void) { return NULL; }