Lines Matching refs:mc
68 static int find_matching_signature(void *mc, unsigned int csig, int cpf) in find_matching_signature() argument
70 struct microcode_header_intel *mc_hdr = mc; in find_matching_signature()
82 ext_hdr = mc + get_datasize(mc_hdr) + MC_HEADER_SIZE; in find_matching_signature()
96 static int has_newer_microcode(void *mc, unsigned int csig, int cpf, int new_rev) in has_newer_microcode() argument
98 struct microcode_header_intel *mc_hdr = mc; in has_newer_microcode()
103 return find_matching_signature(mc, csig, cpf); in has_newer_microcode()
227 static int microcode_sanity_check(void *mc, int print_err) in microcode_sanity_check() argument
230 struct microcode_header_intel *mc_header = mc; in microcode_sanity_check()
262 ext_header = mc + MC_HEADER_SIZE + data_size; in microcode_sanity_check()
296 orig_sum += ((u32 *)mc)[i]; in microcode_sanity_check()
489 static void save_mc_for_early(u8 *mc, unsigned int size) in save_mc_for_early() argument
496 save_microcode_patch(mc, size); in save_mc_for_early()
556 struct microcode_intel *mc; in print_ucode() local
560 mc = uci->mc; in print_ucode()
561 if (!mc) in print_ucode()
568 *current_mc_date_p = mc->hdr.date; in print_ucode()
574 struct microcode_intel *mc; in print_ucode() local
576 mc = uci->mc; in print_ucode()
577 if (!mc) in print_ucode()
580 print_ucode_info(uci, mc->hdr.date); in print_ucode()
586 struct microcode_intel *mc; in apply_microcode_early() local
589 mc = uci->mc; in apply_microcode_early()
590 if (!mc) in apply_microcode_early()
599 if (rev >= mc->hdr.rev) { in apply_microcode_early()
611 native_wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); in apply_microcode_early()
614 if (rev != mc->hdr.rev) in apply_microcode_early()
622 print_ucode_info(uci, mc->hdr.date); in apply_microcode_early()
693 uci.mc = patch; in load_ucode_intel_bsp()
717 uci.mc = *iup; in load_ucode_intel_ap()
760 uci.mc = p; in reload_ucode_intel()
797 struct microcode_intel *mc; in apply_microcode_intel() local
807 mc = find_patch(uci); in apply_microcode_intel()
808 if (!mc) { in apply_microcode_intel()
809 mc = uci->mc; in apply_microcode_intel()
810 if (!mc) in apply_microcode_intel()
820 if (rev >= mc->hdr.rev) { in apply_microcode_intel()
832 wrmsrl(MSR_IA32_UCODE_WRITE, (unsigned long)mc->bits); in apply_microcode_intel()
836 if (rev != mc->hdr.rev) { in apply_microcode_intel()
838 cpu, mc->hdr.rev); in apply_microcode_intel()
845 mc->hdr.date & 0xffff, in apply_microcode_intel()
846 mc->hdr.date >> 24, in apply_microcode_intel()
847 (mc->hdr.date >> 16) & 0xff); in apply_microcode_intel()
868 u8 *ucode_ptr = data, *new_mc = NULL, *mc = NULL; in generic_load_microcode() local
894 if (!mc || mc_size > curr_mc_size) { in generic_load_microcode()
895 vfree(mc); in generic_load_microcode()
896 mc = vmalloc(mc_size); in generic_load_microcode()
897 if (!mc) in generic_load_microcode()
902 if (get_ucode_data(mc, ucode_ptr, mc_size) || 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()
922 vfree(mc); in generic_load_microcode()
932 vfree(uci->mc); in generic_load_microcode()
933 uci->mc = (struct microcode_intel *)new_mc; in generic_load_microcode()