Lines Matching refs:uci
69 int intel_cpu_collect_info(struct ucode_cpu_info *uci) in intel_cpu_collect_info() argument
76 memset(uci, 0, sizeof(*uci)); in intel_cpu_collect_info()
94 uci->cpu_sig = csig; in intel_cpu_collect_info()
273 static void save_microcode_patch(struct ucode_cpu_info *uci, void *data, unsigned int size) in save_microcode_patch() argument
319 if (!intel_find_matching_signature(p->data, uci->cpu_sig.sig, uci->cpu_sig.pf)) in save_microcode_patch()
338 scan_microcode(void *data, size_t size, struct ucode_cpu_info *uci, bool save) in scan_microcode() argument
358 if (!intel_find_matching_signature(data, uci->cpu_sig.sig, in scan_microcode()
359 uci->cpu_sig.pf)) { in scan_microcode()
365 save_microcode_patch(uci, data, mc_size); in scan_microcode()
372 uci->cpu_sig.sig, in scan_microcode()
373 uci->cpu_sig.pf, in scan_microcode()
374 uci->cpu_sig.rev)) in scan_microcode()
444 struct ucode_cpu_info uci; in show_ucode_info_early() local
447 intel_cpu_collect_info(&uci); in show_ucode_info_early()
448 print_ucode_info(early_old_rev, uci.cpu_sig.rev, current_mc_date); in show_ucode_info_early()
479 static int apply_microcode_early(struct ucode_cpu_info *uci, bool early) in apply_microcode_early() argument
484 mc = uci->mc; in apply_microcode_early()
495 uci->cpu_sig.rev = rev; in apply_microcode_early()
514 uci->cpu_sig.rev = rev; in apply_microcode_early()
517 print_ucode(old_rev, uci->cpu_sig.rev, mc->hdr.date); in apply_microcode_early()
519 print_ucode_info(old_rev, uci->cpu_sig.rev, mc->hdr.date); in apply_microcode_early()
526 struct ucode_cpu_info uci; in save_microcode_in_initrd_intel() local
543 intel_cpu_collect_info(&uci); in save_microcode_in_initrd_intel()
545 scan_microcode(cp.data, cp.size, &uci, true); in save_microcode_in_initrd_intel()
552 static struct microcode_intel *__load_ucode_intel(struct ucode_cpu_info *uci) in __load_ucode_intel() argument
573 intel_cpu_collect_info(uci); in __load_ucode_intel()
575 return scan_microcode(cp.data, cp.size, uci, false); in __load_ucode_intel()
581 struct ucode_cpu_info uci; in load_ucode_intel_bsp() local
583 patch = __load_ucode_intel(&uci); in load_ucode_intel_bsp()
587 uci.mc = patch; in load_ucode_intel_bsp()
589 apply_microcode_early(&uci, true); in load_ucode_intel_bsp()
595 struct ucode_cpu_info uci; in load_ucode_intel_ap() local
603 patch = __load_ucode_intel(&uci); in load_ucode_intel_ap()
610 uci.mc = *iup; in load_ucode_intel_ap()
612 apply_microcode_early(&uci, true); in load_ucode_intel_ap()
615 static struct microcode_intel *find_patch(struct ucode_cpu_info *uci) in find_patch() argument
624 if (phdr->rev <= uci->cpu_sig.rev) in find_patch()
628 uci->cpu_sig.sig, in find_patch()
629 uci->cpu_sig.pf)) in find_patch()
640 struct ucode_cpu_info uci; in reload_ucode_intel() local
642 intel_cpu_collect_info(&uci); in reload_ucode_intel()
644 p = find_patch(&uci); in reload_ucode_intel()
648 uci.mc = p; in reload_ucode_intel()
650 apply_microcode_early(&uci, false); in reload_ucode_intel()
675 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in apply_microcode_intel() local
688 mc = find_patch(uci); in apply_microcode_intel()
690 mc = uci->mc; in apply_microcode_intel()
735 uci->cpu_sig.rev = rev; in apply_microcode_intel()
747 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in generic_load_microcode() local
750 int new_rev = uci->cpu_sig.rev; in generic_load_microcode()
791 csig = uci->cpu_sig.sig; in generic_load_microcode()
792 cpf = uci->cpu_sig.pf; in generic_load_microcode()
813 vfree(uci->mc); in generic_load_microcode()
814 uci->mc = (struct microcode_intel *)new_mc; in generic_load_microcode()
817 save_microcode_patch(uci, new_mc, new_mc_size); in generic_load_microcode()
820 cpu, new_rev, uci->cpu_sig.rev); in generic_load_microcode()