/kernel/linux/linux-5.10/arch/x86/kernel/cpu/microcode/ |
H A D | Makefile | 2 microcode-y := core.o 3 obj-$(CONFIG_MICROCODE) += microcode.o 4 microcode-$(CONFIG_MICROCODE_INTEL) += intel.o 5 microcode-$(CONFIG_MICROCODE_AMD) += amd.o
|
H A D | amd.c | 5 * This driver allows to upgrade microcode on F10h AMD 22 #define pr_fmt(fmt) "microcode: " fmt 33 #include <asm/microcode.h> 45 * This points to the current valid container of microcode patches which we will 47 * microcode patch we found to match. 64 * format. See Documentation/x86/microcode.rst 67 ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin"; 88 * Check whether there is a valid microcode container file at the beginning 97 pr_debug("Truncated microcode container header.\n"); in verify_container() 129 pr_debug("Wrong microcode containe in verify_equivalence_table() [all...] |
H A D | intel.c | 8 * Intel CPU microcode early update for Linux 20 #define pr_fmt(fmt) "microcode: " fmt 40 static const char ucode_path[] = "kernel/x86/microcode/GenuineIntel.bin"; 42 /* Current microcode patch used in early patching on the APs. */ 193 pr_err("Error: bad microcode data file size.\n"); in microcode_sanity_check() 199 pr_err("Error: invalid/unknown microcode update format.\n"); in microcode_sanity_check() 253 pr_err("Bad microcode data checksum, aborting.\n"); in microcode_sanity_check() 279 * Get microcode matching with BSP's model. Only CPUs with the same model as 385 pr_debug("no microcode data saved.\n"); in show_saved_mc() 440 * Save this microcode patc [all...] |
H A D | core.c | 9 * X86 CPU microcode early update for Linux: 15 * This driver allows to upgrade microcode on x86 processors. 18 #define pr_fmt(fmt) "microcode: " fmt 38 #include <asm/microcode.h> 401 * is loading microcode in order to avoid any negative interactions caused by 404 * - In addition, microcode update on the cores must be serialized until this 420 pr_err("Not all CPUs online, aborting microcode update.\n"); in check_online_cpus() 455 * 0 - success (no update done or microcode was updated) 471 * On an SMT system, it suffices to load the microcode on one sibling of in __reload_late() 472 * the core because the microcode engin in __reload_late() [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/microcode/ |
H A D | Makefile | 2 microcode-y := core.o 3 obj-$(CONFIG_MICROCODE) += microcode.o 4 microcode-$(CONFIG_CPU_SUP_INTEL) += intel.o 5 microcode-$(CONFIG_CPU_SUP_AMD) += amd.o
|
H A D | intel.c | 8 * Intel CPU microcode early update for Linux 13 #define pr_fmt(fmt) "microcode: " fmt 33 static const char ucode_path[] = "kernel/x86/microcode/GenuineIntel.bin"; 35 /* Current microcode patch used in early patching on the APs. */ 41 /* microcode format is extended from prescott processors */ 130 * intel_microcode_sanity_check() - Sanity check microcode file. 131 * @mc: Pointer to the microcode file contents. 133 * @hdr_type: Type of file, i.e. normal microcode file or In Field Scan file. 134 * Validate if the microcode header type matches with the type 156 pr_err("Error: bad microcode dat in intel_microcode_sanity_check() [all...] |
H A D | amd.c | 5 * This driver allows to upgrade microcode on F10h AMD 22 #define pr_fmt(fmt) "microcode: " fmt 32 #include <asm/microcode.h> 85 * This points to the current valid container of microcode patches which we will 87 * microcode patch we found to match. 101 * format. See Documentation/arch/x86/microcode.rst 104 ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin"; 123 * Check whether there is a valid microcode container file at the beginning 132 pr_debug("Truncated microcode container header.\n"); in verify_container() 164 pr_debug("Wrong microcode containe in verify_equivalence_table() [all...] |
/kernel/linux/linux-5.10/drivers/crypto/cavium/cpt/ |
H A D | cptpf.h | 22 struct microcode { struct 53 struct microcode mcode[CPT_MAX_CORE_GROUPS]; 54 u8 next_mc_idx; /* next microcode index */
|
H A D | cptpf_main.c | 123 static int cpt_load_microcode(struct cpt_device *cpt, struct microcode *mcode) in cpt_load_microcode() 135 dev_err(dev, "microcode size is 0\n"); in cpt_load_microcode() 150 /* Point to microcode for each core of the group */ in cpt_load_microcode() 161 static int do_cpt_init(struct cpt_device *cpt, struct microcode *mcode) in do_cpt_init() 179 dev_err(dev, "Can't load, all eight microcode groups in use"); in do_cpt_init() 188 /* Load microcode for AE engines */ in do_cpt_init() 208 dev_err(dev, "Can't load, all eight microcode groups in use"); in do_cpt_init() 217 /* Load microcode for SE engines */ in do_cpt_init() 258 struct microcode *mcode; in cpt_ucode_load_fw() 283 dev_err(dev, "Unable to allocate space for microcode"); in cpt_ucode_load_fw() [all...] |
/kernel/linux/linux-6.6/drivers/crypto/cavium/cpt/ |
H A D | cptpf.h | 22 struct microcode { struct 53 struct microcode mcode[CPT_MAX_CORE_GROUPS]; 54 u8 next_mc_idx; /* next microcode index */
|
H A D | cptpf_main.c | 122 static int cpt_load_microcode(struct cpt_device *cpt, struct microcode *mcode) in cpt_load_microcode() 134 dev_err(dev, "microcode size is 0\n"); in cpt_load_microcode() 149 /* Point to microcode for each core of the group */ in cpt_load_microcode() 160 static int do_cpt_init(struct cpt_device *cpt, struct microcode *mcode) in do_cpt_init() 178 dev_err(dev, "Can't load, all eight microcode groups in use"); in do_cpt_init() 187 /* Load microcode for AE engines */ in do_cpt_init() 207 dev_err(dev, "Can't load, all eight microcode groups in use"); in do_cpt_init() 216 /* Load microcode for SE engines */ in do_cpt_init() 257 struct microcode *mcode; in cpt_ucode_load_fw() 282 dev_err(dev, "Unable to allocate space for microcode"); in cpt_ucode_load_fw() [all...] |
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/ |
H A D | proc.c | 83 if (c->microcode) in show_cpuinfo() 84 seq_printf(m, "microcode\t: 0x%x\n", c->microcode); in show_cpuinfo()
|
H A D | intel.c | 123 * Early microcode releases for the Spectre v2 mitigation were broken. 125 * - https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microcode-update-guidance.pdf 128 * - Release note from 20180108 microcode release 133 u32 microcode; member 164 * We know that the hypervisor lie to us on the microcode version so in bad_spectre_microcode() 176 return (c->microcode <= spectre_bad_microcodes[i].microcode); in bad_spectre_microcode() 199 c->microcode = intel_get_microcode_revision(); in early_init_intel() 206 pr_warn("Intel Spectre v2 broken microcode detected; disabling Speculation Control\n"); in early_init_intel() 221 * a large page. This is worked around in microcode, bu in early_init_intel() [all...] |
H A D | match.c | 86 if (!res || res->x86_microcode_rev > boot_cpu_data.microcode) in x86_cpu_has_min_microcode_rev()
|
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/ |
H A D | proc.c | 85 if (c->microcode) in show_cpuinfo() 86 seq_printf(m, "microcode\t: 0x%x\n", c->microcode); in show_cpuinfo()
|
H A D | intel.c | 23 #include <asm/microcode.h> 129 * Early microcode releases for the Spectre v2 mitigation were broken. 131 * - https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microcode-update-guidance.pdf 134 * - Release note from 20180108 microcode release 139 u32 microcode; member 170 * We know that the hypervisor lie to us on the microcode version so in bad_spectre_microcode() 182 return (c->microcode <= spectre_bad_microcodes[i].microcode); in bad_spectre_microcode() 289 c->microcode = intel_get_microcode_revision(); in early_init_intel() 296 pr_warn("Intel Spectre v2 broken microcode detecte in early_init_intel() [all...] |
H A D | match.c | 86 if (!res || res->x86_microcode_rev > boot_cpu_data.microcode) in x86_cpu_has_min_microcode_rev()
|
/kernel/linux/linux-5.10/arch/x86/include/uapi/asm/ |
H A D | mce.h | 37 __u32 microcode; /* Microcode revision */ member
|
/kernel/linux/linux-6.6/arch/x86/include/uapi/asm/ |
H A D | mce.h | 37 __u32 microcode; /* Microcode revision */ member
|
/kernel/linux/patches/linux-6.6/prebuilts/usr/include/asm-x86/asm/ |
H A D | mce.h | 47 __u32 microcode; member
|
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/asm-x86/asm/ |
H A D | mce.h | 47 __u32 microcode; member
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | microcode_amd.h | 5 #include <asm/microcode.h>
|
H A D | microcode_intel.h | 5 #include <asm/microcode.h> 25 /* microcode format is extended from prescott processors */
|
/kernel/linux/linux-5.10/drivers/soc/fsl/qe/ |
H A D | qe.c | 399 * Upload a QE microcode 402 * the actual uploading of the microcode. 412 "uploading microcode '%s' version %u.%u.%u\n", in qe_upload_microcode() 416 "uploading microcode '%s'\n", ucode->id); in qe_upload_microcode() 430 * Upload a microcode to the I-RAM at a specific address. 432 * See Documentation/powerpc/qe_firmware.rst for information on QE microcode 442 * all of the microcode structures, minus the CRC. 466 printk(KERN_ERR "qe-firmware: not a microcode\n"); in qe_upload_firmware() 483 calc_size = struct_size(firmware, microcode, firmware->count); in qe_upload_firmware() 487 * For situations where the second RISC uses the same microcode in qe_upload_firmware() [all...] |
/kernel/linux/linux-6.6/drivers/soc/fsl/qe/ |
H A D | qe.c | 400 * Upload a QE microcode 403 * the actual uploading of the microcode. 413 "uploading microcode '%s' version %u.%u.%u\n", in qe_upload_microcode() 417 "uploading microcode '%s'\n", ucode->id); in qe_upload_microcode() 431 * Upload a microcode to the I-RAM at a specific address. 433 * See Documentation/powerpc/qe_firmware.rst for information on QE microcode 443 * all of the microcode structures, minus the CRC. 467 printk(KERN_ERR "qe-firmware: not a microcode\n"); in qe_upload_firmware() 484 calc_size = struct_size(firmware, microcode, firmware->count); in qe_upload_firmware() 488 * For situations where the second RISC uses the same microcode in qe_upload_firmware() [all...] |