Lines Matching refs:microcode

8  * Intel CPU microcode early update for Linux
13 #define pr_fmt(fmt) "microcode: " fmt
36 static const char ucode_path[] = "kernel/x86/microcode/GenuineIntel.bin";
40 /* Defines for the microcode staging mailbox interface */
72 /* Current microcode patch used in early patching on the APs. */
79 /* microcode format is extended from prescott processors */
97 * @ucode_len: Total size of the microcode image
100 * @offset: Current offset in the microcode image
149 * before _it_ has no microcode (for Linux at least).
212 * intel_microcode_sanity_check() - Sanity check microcode file.
213 * @mc: Pointer to the microcode file contents.
215 * @hdr_type: Type of file, i.e. normal microcode file or In Field Scan file.
216 * Validate if the microcode header type matches with the type
238 pr_err("Error: bad microcode data file size.\n");
244 pr_err("Error: invalid/unknown microcode update format. Header type %d\n",
299 pr_err("Bad microcode data checksum, aborting.\n");
345 pr_err("Unable to allocate microcode memory size: %u\n", size);
348 /* Scan blob for microcode matching the boot CPUs family, model, stepping */
370 * For saving the early microcode, find the matching revision which
434 * Prepare for a new microcode transfer: reset hardware and record the
459 * Each microcode image is divided into chunks, each at most
534 * Transmit a chunk of the microcode image to the hardware.
546 * 3. Data section contains a microcode chunk
575 * 2. Next offset in the microcode image
590 * exceed the microcode image length.
608 * microcode image is transferred in chunks until completion.
624 /* Send a chunk of microcode each time: */
693 * operation - when the other hyperthread has updated the microcode
702 /* write microcode via MSR 0x79 */
759 * Invoked from an early init call to save the microcode blob which was
760 * selected during early boot when mm was not usable. The microcode must be
782 /* Load microcode on BSP from initrd or builtin blobs */
805 /* Reload microcode on resume */
834 cpu_data(cpu).microcode = uci->cpu_sig.rev;
836 boot_cpu_data.microcode = uci->cpu_sig.rev;
843 int cur_rev = boot_cpu_data.microcode;
848 * is 0 in older microcode blobs.
851 pr_info("Unsafe microcode update: Microcode header does not specify a required min version\n");
860 pr_info("Unsafe microcode update: Current revision 0x%x too old\n", cur_rev);
881 pr_err("error! Truncated or inaccessible header in microcode data file\n");
887 pr_err("error! Bad data in microcode data file (totalsize too small)\n");
892 pr_err("error! Bad data in microcode data file (truncated file?)\n");
949 * Late loading on model 79 with microcode revision less than 0x0b000021
957 c->microcode < 0x0b000021) {
958 pr_err_once("Erratum BDX90: late loading with revision < 0x0b000021 (0x%x) disabled.\n", c->microcode);