Lines Matching refs:uci

327 scan_microcode(void *data, size_t size, struct ucode_cpu_info *uci, bool save)  in scan_microcode()  argument
347 if (!microcode_matches(mc_header, uci->cpu_sig.sig)) { in scan_microcode()
360 uci->cpu_sig.sig, in scan_microcode()
361 uci->cpu_sig.pf, in scan_microcode()
362 uci->cpu_sig.rev)) in scan_microcode()
388 static int collect_cpu_info_early(struct ucode_cpu_info *uci) in collect_cpu_info_early() argument
395 memset(uci, 0, sizeof(*uci)); in collect_cpu_info_early()
413 uci->cpu_sig = csig; in collect_cpu_info_early()
414 uci->valid = 1; in collect_cpu_info_early()
424 struct ucode_cpu_info uci; in show_saved_mc() local
432 collect_cpu_info_early(&uci); in show_saved_mc()
434 sig = uci.cpu_sig.sig; in show_saved_mc()
435 pf = uci.cpu_sig.pf; in show_saved_mc()
436 rev = uci.cpu_sig.rev; in show_saved_mc()
519 print_ucode_info(struct ucode_cpu_info *uci, unsigned int date) in print_ucode_info() argument
522 uci->cpu_sig.rev, in print_ucode_info()
538 struct ucode_cpu_info uci; in show_ucode_info_early() local
541 collect_cpu_info_early(&uci); in show_ucode_info_early()
542 print_ucode_info(&uci, current_mc_date); in show_ucode_info_early()
551 static void print_ucode(struct ucode_cpu_info *uci) in print_ucode() argument
557 mc = uci->mc; in print_ucode()
569 static inline void print_ucode(struct ucode_cpu_info *uci) in print_ucode() argument
573 mc = uci->mc; in print_ucode()
577 print_ucode_info(uci, mc->hdr.date); in print_ucode()
581 static int apply_microcode_early(struct ucode_cpu_info *uci, bool early) in apply_microcode_early() argument
586 mc = uci->mc; in apply_microcode_early()
597 uci->cpu_sig.rev = rev; in apply_microcode_early()
614 uci->cpu_sig.rev = rev; in apply_microcode_early()
617 print_ucode(uci); in apply_microcode_early()
619 print_ucode_info(uci, mc->hdr.date); in apply_microcode_early()
626 struct ucode_cpu_info uci; in save_microcode_in_initrd_intel() local
643 collect_cpu_info_early(&uci); in save_microcode_in_initrd_intel()
645 scan_microcode(cp.data, cp.size, &uci, true); in save_microcode_in_initrd_intel()
655 static struct microcode_intel *__load_ucode_intel(struct ucode_cpu_info *uci) in __load_ucode_intel() argument
676 collect_cpu_info_early(uci); in __load_ucode_intel()
678 return scan_microcode(cp.data, cp.size, uci, false); in __load_ucode_intel()
684 struct ucode_cpu_info uci; in load_ucode_intel_bsp() local
686 patch = __load_ucode_intel(&uci); in load_ucode_intel_bsp()
690 uci.mc = patch; in load_ucode_intel_bsp()
692 apply_microcode_early(&uci, true); in load_ucode_intel_bsp()
698 struct ucode_cpu_info uci; in load_ucode_intel_ap() local
707 patch = __load_ucode_intel(&uci); in load_ucode_intel_ap()
714 uci.mc = *iup; in load_ucode_intel_ap()
716 if (apply_microcode_early(&uci, true)) { in load_ucode_intel_ap()
724 static struct microcode_intel *find_patch(struct ucode_cpu_info *uci) in find_patch() argument
733 if (phdr->rev <= uci->cpu_sig.rev) in find_patch()
737 uci->cpu_sig.sig, in find_patch()
738 uci->cpu_sig.pf)) in find_patch()
749 struct ucode_cpu_info uci; in reload_ucode_intel() local
751 collect_cpu_info_early(&uci); in reload_ucode_intel()
753 p = find_patch(&uci); in reload_ucode_intel()
757 uci.mc = p; in reload_ucode_intel()
759 apply_microcode_early(&uci, false); in reload_ucode_intel()
792 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in apply_microcode_intel() local
804 mc = find_patch(uci); in apply_microcode_intel()
806 mc = uci->mc; in apply_microcode_intel()
851 uci->cpu_sig.rev = rev; in apply_microcode_intel()
863 struct ucode_cpu_info *uci = ucode_cpu_info + cpu; in generic_load_microcode() local
866 int new_rev = uci->cpu_sig.rev; in generic_load_microcode()
907 csig = uci->cpu_sig.sig; in generic_load_microcode()
908 cpf = uci->cpu_sig.pf; in generic_load_microcode()
929 vfree(uci->mc); in generic_load_microcode()
930 uci->mc = (struct microcode_intel *)new_mc; in generic_load_microcode()
940 cpu, new_rev, uci->cpu_sig.rev); in generic_load_microcode()