Lines Matching refs:uci
106 static void save_microcode_patch(struct ucode_cpu_info *uci, void *data, unsigned int size) in save_microcode_patch() argument
152 if (!find_matching_signature(p->data, uci->cpu_sig.sig, uci->cpu_sig.pf)) in save_microcode_patch()
269 scan_microcode(void *data, size_t size, struct ucode_cpu_info *uci, bool save) in scan_microcode() argument
289 if (!find_matching_signature(data, uci->cpu_sig.sig, in scan_microcode()
290 uci->cpu_sig.pf)) { in scan_microcode()
296 save_microcode_patch(uci, data, mc_size); in scan_microcode()
303 uci->cpu_sig.sig, in scan_microcode()
304 uci->cpu_sig.pf, in scan_microcode()
305 uci->cpu_sig.rev)) in scan_microcode()
336 struct ucode_cpu_info uci; in show_saved_mc() local
344 intel_cpu_collect_info(&uci); in show_saved_mc()
346 sig = uci.cpu_sig.sig; in show_saved_mc()
347 pf = uci.cpu_sig.pf; in show_saved_mc()
348 rev = uci.cpu_sig.rev; in show_saved_mc()
398 static void save_mc_for_early(struct ucode_cpu_info *uci, u8 *mc, unsigned int size) in save_mc_for_early() argument
405 save_microcode_patch(uci, mc, size); in save_mc_for_early()
438 print_ucode_info(struct ucode_cpu_info *uci, unsigned int date) in print_ucode_info() argument
441 uci->cpu_sig.rev, in print_ucode_info()
457 struct ucode_cpu_info uci; in show_ucode_info_early() local
460 intel_cpu_collect_info(&uci); in show_ucode_info_early()
461 print_ucode_info(&uci, current_mc_date); in show_ucode_info_early()
470 static void print_ucode(struct ucode_cpu_info *uci) in print_ucode() argument
476 mc = uci->mc; in print_ucode()
488 static inline void print_ucode(struct ucode_cpu_info *uci) in print_ucode() argument
492 mc = uci->mc; in print_ucode()
496 print_ucode_info(uci, mc->hdr.date); in print_ucode()
500 static int apply_microcode_early(struct ucode_cpu_info *uci, bool early) in apply_microcode_early() argument
505 mc = uci->mc; in apply_microcode_early()
516 uci->cpu_sig.rev = rev; in apply_microcode_early()
533 uci->cpu_sig.rev = rev; in apply_microcode_early()
536 print_ucode(uci); in apply_microcode_early()
538 print_ucode_info(uci, mc->hdr.date); in apply_microcode_early()
545 struct ucode_cpu_info uci; in save_microcode_in_initrd_intel() local
562 intel_cpu_collect_info(&uci); in save_microcode_in_initrd_intel()
564 scan_microcode(cp.data, cp.size, &uci, true); in save_microcode_in_initrd_intel()
574 static struct microcode_intel *__load_ucode_intel(struct ucode_cpu_info *uci) in __load_ucode_intel() argument
595 intel_cpu_collect_info(uci); in __load_ucode_intel()
597 return scan_microcode(cp.data, cp.size, uci, false); in __load_ucode_intel()
603 struct ucode_cpu_info uci; in load_ucode_intel_bsp() local
605 patch = __load_ucode_intel(&uci); in load_ucode_intel_bsp()
609 uci.mc = patch; in load_ucode_intel_bsp()
611 apply_microcode_early(&uci, true); in load_ucode_intel_bsp()
617 struct ucode_cpu_info uci; in load_ucode_intel_ap() local
626 patch = __load_ucode_intel(&uci); in load_ucode_intel_ap()
633 uci.mc = *iup; in load_ucode_intel_ap()
635 if (apply_microcode_early(&uci, true)) { in load_ucode_intel_ap()
643 static struct microcode_intel *find_patch(struct ucode_cpu_info *uci) in find_patch() argument
652 if (phdr->rev <= uci->cpu_sig.rev) in find_patch()
656 uci->cpu_sig.sig, in find_patch()
657 uci->cpu_sig.pf)) in find_patch()
668 struct ucode_cpu_info uci; in reload_ucode_intel() local
670 intel_cpu_collect_info(&uci); in reload_ucode_intel()
672 p = find_patch(&uci); in reload_ucode_intel()
676 uci.mc = p; in reload_ucode_intel()
678 apply_microcode_early(&uci, false); in reload_ucode_intel()
711 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in apply_microcode_intel() local
724 mc = find_patch(uci); in apply_microcode_intel()
726 mc = uci->mc; in apply_microcode_intel()
771 uci->cpu_sig.rev = rev; in apply_microcode_intel()
783 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in generic_load_microcode() local
786 int new_rev = uci->cpu_sig.rev; in generic_load_microcode()
827 csig = uci->cpu_sig.sig; in generic_load_microcode()
828 cpf = uci->cpu_sig.pf; in generic_load_microcode()
849 vfree(uci->mc); in generic_load_microcode()
850 uci->mc = (struct microcode_intel *)new_mc; in generic_load_microcode()
857 save_mc_for_early(uci, new_mc, new_mc_size); in generic_load_microcode()
860 cpu, new_rev, uci->cpu_sig.rev); in generic_load_microcode()