Lines Matching refs:mc

65 static int find_matching_signature(void *mc, unsigned int csig, int cpf)  in find_matching_signature()  argument
67 struct microcode_header_intel *mc_hdr = mc; in find_matching_signature()
79 ext_hdr = mc + get_datasize(mc_hdr) + MC_HEADER_SIZE; in find_matching_signature()
93 static int has_newer_microcode(void *mc, unsigned int csig, int cpf, int new_rev) in has_newer_microcode() argument
95 struct microcode_header_intel *mc_hdr = mc; in has_newer_microcode()
100 return find_matching_signature(mc, csig, cpf); in has_newer_microcode()
224 static int microcode_sanity_check(void *mc, int print_err) in microcode_sanity_check() argument
227 struct microcode_header_intel *mc_header = mc; in microcode_sanity_check()
259 ext_header = mc + MC_HEADER_SIZE + data_size; in microcode_sanity_check()
293 orig_sum += ((u32 *)mc)[i]; in microcode_sanity_check()
486 static void save_mc_for_early(u8 *mc, unsigned int size) in save_mc_for_early() argument
493 save_microcode_patch(mc, size); in save_mc_for_early()
553 struct microcode_intel *mc; in print_ucode() local
557 mc = uci->mc; in print_ucode()
558 if (!mc) in print_ucode()
565 *current_mc_date_p = mc->hdr.date; in print_ucode()
571 struct microcode_intel *mc; in print_ucode() local
573 mc = uci->mc; in print_ucode()
574 if (!mc) in print_ucode()
577 print_ucode_info(uci, mc->hdr.date); in print_ucode()
583 struct microcode_intel *mc; in apply_microcode_early() local
586 mc = uci->mc; in apply_microcode_early()
587 if (!mc) in apply_microcode_early()
596 if (rev >= mc->hdr.rev) { in apply_microcode_early()
608 native_wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); in apply_microcode_early()
611 if (rev != mc->hdr.rev) in apply_microcode_early()
619 print_ucode_info(uci, mc->hdr.date); in apply_microcode_early()
690 uci.mc = patch; in load_ucode_intel_bsp()
714 uci.mc = *iup; in load_ucode_intel_ap()
757 uci.mc = p; in reload_ucode_intel()
794 struct microcode_intel *mc; in apply_microcode_intel() local
804 mc = find_patch(uci); in apply_microcode_intel()
805 if (!mc) { in apply_microcode_intel()
806 mc = uci->mc; in apply_microcode_intel()
807 if (!mc) in apply_microcode_intel()
817 if (rev >= mc->hdr.rev) { in apply_microcode_intel()
829 wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); in apply_microcode_intel()
833 if (rev != mc->hdr.rev) { in apply_microcode_intel()
835 cpu, mc->hdr.rev); in apply_microcode_intel()
842 mc->hdr.date & 0xffff, in apply_microcode_intel()
843 mc->hdr.date >> 24, in apply_microcode_intel()
844 (mc->hdr.date >> 16) & 0xff); in apply_microcode_intel()
867 u8 *new_mc = NULL, *mc = NULL; in generic_load_microcode() local
892 if (!mc || mc_size > curr_mc_size) { in generic_load_microcode()
893 vfree(mc); in generic_load_microcode()
894 mc = vmalloc(mc_size); in generic_load_microcode()
895 if (!mc) in generic_load_microcode()
900 memcpy(mc, &mc_header, sizeof(mc_header)); in generic_load_microcode()
901 data = mc + sizeof(mc_header); in generic_load_microcode()
903 microcode_sanity_check(mc, 1) < 0) { in generic_load_microcode()
909 if (has_newer_microcode(mc, csig, cpf, new_rev)) { in generic_load_microcode()
912 new_mc = mc; in generic_load_microcode()
914 mc = NULL; /* trigger new vmalloc */ in generic_load_microcode()
919 vfree(mc); in generic_load_microcode()
929 vfree(uci->mc); in generic_load_microcode()
930 uci->mc = (struct microcode_intel *)new_mc; in generic_load_microcode()