Lines Matching refs:mc_amd

155 static bool_t microcode_fits(const struct microcode_amd *mc_amd,  in microcode_fits()  argument
159 const struct microcode_header_amd *mc_header = mc_amd->mpb; in microcode_fits()
160 const struct equiv_cpu_entry *equiv_cpu_table = mc_amd->equiv_cpu_table; in microcode_fits()
175 if ( !verify_patch_size(mc_amd->mpb_size) ) in microcode_fits()
198 struct microcode_amd *mc_amd = uci->mc.mc_amd; in apply_microcode() local
205 if ( mc_amd == NULL ) in apply_microcode()
208 hdr = mc_amd->mpb; in apply_microcode()
238 struct microcode_amd *mc_amd, in get_ucode_from_buffer_amd() argument
264 if ( mc_amd->mpb_size < mpbuf->len ) in get_ucode_from_buffer_amd()
266 if ( mc_amd->mpb ) in get_ucode_from_buffer_amd()
268 xfree(mc_amd->mpb); in get_ucode_from_buffer_amd()
269 mc_amd->mpb_size = 0; in get_ucode_from_buffer_amd()
271 mc_amd->mpb = xmalloc_bytes(mpbuf->len); in get_ucode_from_buffer_amd()
272 if ( mc_amd->mpb == NULL ) in get_ucode_from_buffer_amd()
274 mc_amd->mpb_size = mpbuf->len; in get_ucode_from_buffer_amd()
276 memcpy(mc_amd->mpb, mpbuf->data, mpbuf->len); in get_ucode_from_buffer_amd()
280 ((struct microcode_header_amd *)mc_amd->mpb)->processor_rev_id, in get_ucode_from_buffer_amd()
281 ((struct microcode_header_amd *)mc_amd->mpb)->patch_id); in get_ucode_from_buffer_amd()
289 struct microcode_amd *mc_amd, in install_equiv_cpu_table() argument
309 mc_amd->equiv_cpu_table = xmalloc_bytes(mpbuf->len); in install_equiv_cpu_table()
310 if ( !mc_amd->equiv_cpu_table ) in install_equiv_cpu_table()
316 memcpy(mc_amd->equiv_cpu_table, mpbuf->data, mpbuf->len); in install_equiv_cpu_table()
317 mc_amd->equiv_cpu_table_size = mpbuf->len; in install_equiv_cpu_table()
394 struct microcode_amd *mc_amd, *mc_old; in cpu_request_microcode() local
422 mc_amd = xmalloc(struct microcode_amd); in cpu_request_microcode()
423 if ( !mc_amd ) in cpu_request_microcode()
437 error = install_equiv_cpu_table(mc_amd, buf, &offset); in cpu_request_microcode()
455 if ( find_equiv_cpu_id(mc_amd->equiv_cpu_table, current_cpu_id, in cpu_request_microcode()
476 xfree(mc_amd); in cpu_request_microcode()
480 mc_old = uci->mc.mc_amd; in cpu_request_microcode()
482 uci->mc.mc_amd = mc_amd; in cpu_request_microcode()
488 mc_amd->mpb = NULL; in cpu_request_microcode()
489 mc_amd->mpb_size = 0; in cpu_request_microcode()
491 while ( (error = get_ucode_from_buffer_amd(mc_amd, buf, bufsize, in cpu_request_microcode()
494 if ( microcode_fits(mc_amd, cpu) ) in cpu_request_microcode()
538 mc_amd, buf, bufsize, &applied_offset); in cpu_request_microcode()
546 xfree(mc_amd); in cpu_request_microcode()
547 uci->mc.mc_amd = mc_old; in cpu_request_microcode()
567 struct microcode_amd *mc_amd = uci->mc.mc_amd; in microcode_resume_match() local
573 if ( src != mc_amd ) in microcode_resume_match()
575 if ( mc_amd ) in microcode_resume_match()
577 xfree(mc_amd->equiv_cpu_table); in microcode_resume_match()
578 xfree(mc_amd->mpb); in microcode_resume_match()
579 xfree(mc_amd); in microcode_resume_match()
582 mc_amd = xmalloc(struct microcode_amd); in microcode_resume_match()
583 uci->mc.mc_amd = mc_amd; in microcode_resume_match()
584 if ( !mc_amd ) in microcode_resume_match()
586 mc_amd->equiv_cpu_table = xmalloc_bytes(src->equiv_cpu_table_size); in microcode_resume_match()
587 if ( !mc_amd->equiv_cpu_table ) in microcode_resume_match()
589 mc_amd->mpb = xmalloc_bytes(src->mpb_size); in microcode_resume_match()
590 if ( !mc_amd->mpb ) in microcode_resume_match()
593 mc_amd->equiv_cpu_table_size = src->equiv_cpu_table_size; in microcode_resume_match()
594 mc_amd->mpb_size = src->mpb_size; in microcode_resume_match()
595 memcpy(mc_amd->mpb, src->mpb, src->mpb_size); in microcode_resume_match()
596 memcpy(mc_amd->equiv_cpu_table, src->equiv_cpu_table, in microcode_resume_match()
603 xfree(mc_amd->equiv_cpu_table); in microcode_resume_match()
605 xfree(mc_amd); in microcode_resume_match()
606 uci->mc.mc_amd = NULL; in microcode_resume_match()