/Linux-v5.10/Documentation/x86/ |
D | microcode.rst | 10 The kernel has a x86 microcode loading facility which is supposed to 11 provide microcode loading methods in the OS. Potential use cases are 12 updating the microcode on platforms beyond the OEM End-Of-Life support, 13 and updating the microcode on long-running systems without rebooting. 17 Early load microcode 20 The kernel can update microcode very early during boot. Loading 21 microcode early can fix CPU issues before they are observed during 24 The microcode is stored in an initrd file. During boot, it is read from 27 The format of the combined initrd image is microcode in (uncompressed) 31 The microcode files in cpio name space are: [all …]
|
D | mds.rst | 77 instruction in combination with a microcode update. The microcode clears 87 executed on a CPU without the microcode update there is no side effect 102 the microcode updated, but the hypervisor does not (yet) expose the 124 scenarios where the host has the updated microcode but the 191 functionality in microcode. Aside of that the IO-Port mechanism is a 193 not affected or do not receive microcode updates anymore.
|
D | index.rst | 29 microcode
|
D | tsx_async_abort.rst | 26 microcode update which can be used to disable TSX. In addition, it 48 scenarios where the host has the updated microcode but the
|
/Linux-v5.10/Documentation/powerpc/ |
D | qe_firmware.rst | 44 In this document, the term 'microcode' refers to the sequence of 32-bit 45 integers that compose the actual QE microcode. 47 The term 'firmware' refers to a binary blob that contains the microcode as 50 1) describes the microcode's purpose 51 2) describes how and where to upload the microcode 60 The QE architecture allows for only one microcode present in I-RAM for each 61 RISC processor. To replace any current microcode, a full QE reset (which 62 disables the microcode) must be performed first. 64 QE microcode is uploaded using the following procedure: 66 1) The microcode is placed into I-RAM at a specific location, using the [all …]
|
D | imc.rst | 21 The Nest PMU counters are handled by a Nest IMC microcode which runs in the OCC 22 (On-Chip Controller) complex. The microcode collects the counter data and moves
|
/Linux-v5.10/arch/x86/kernel/cpu/microcode/ |
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
|
D | intel.c | 735 csig->rev = c->microcode; in collect_cpu_info() 810 c->microcode = rev; in apply_microcode_intel() 814 boot_cpu_data.microcode = rev; in apply_microcode_intel() 917 c->microcode < 0x0b000021) { in is_blacklisted() 918 …rr_once("Erratum BDF90: late loading with revision < 0x0b000021 (0x%x) disabled.\n", c->microcode); in is_blacklisted()
|
D | amd.c | 654 csig->rev = c->microcode; in collect_cpu_info_amd() 710 c->microcode = rev; in apply_microcode_amd() 714 boot_cpu_data.microcode = rev; in apply_microcode_amd() 856 if (boot_cpu_data.microcode >= p->patch_id) in load_microcode_amd()
|
/Linux-v5.10/Documentation/power/ |
D | suspend-and-cpuhotplug.rst | 176 There are some interesting situations involving CPU hotplug and microcode 179 [Please bear in mind that the kernel requests the microcode images from 187 to apply the same microcode revision to each of the CPUs. 190 and thereby in applying the correct microcode revision to it. 191 But note that the kernel does not maintain a common microcode image for the 197 In this case since we probably need to apply different microcode revisions 198 to different CPUs, the kernel maintains a copy of the correct microcode 208 (which is sent by the CPU hotplug code), the microcode update driver's 210 microcode image for that CPU. 213 doesn't have the microcode image, it does the CPU type/model discovery [all …]
|
/Linux-v5.10/Documentation/admin-guide/hw-vuln/ |
D | tsx_async_abort.rst | 99 …- The CPU is affected by this vulnerability and the microcode and kernel mitigation are not applie… 100 * - 'Vulnerable: Clear CPU buffers attempted, no microcode' 101 - The system tries to clear the buffers but the microcode might not support the operation. 103 - The microcode has been updated to clear the buffers. TSX is still enabled. 114 If the processor is vulnerable, but the availability of the microcode-based 120 microcode update applied, but the hypervisor is not yet updated to expose the 121 CPUID to the guest. If the host has updated microcode the protection takes 131 The kernel detects the affected CPUs and the presence of the microcode which is 132 required. If a CPU is affected and the microcode is available, then the kernel 142 Affected systems where the host has TAA microcode and TAA is mitigated by [all …]
|
D | special-register-buffer-data-sampling.rst | 63 Intel will release microcode updates that modify the RDRAND, RDSEED, and 85 The microcode updates provide an opt-out mechanism (RNGDS_MITG_DIS) to disable 99 9]==1. This MSR is introduced through the microcode update. 131 Vulnerable: No microcode Processor vulnerable and microcode is missing 146 This new microcode serializes processor access during execution of RDRAND,
|
D | mds.rst | 104 * - 'Vulnerable: Clear CPU buffers attempted, no microcode' 105 - The processor is vulnerable but microcode is not updated. 127 If the processor is vulnerable, but the availability of the microcode based 133 microcode update applied, but the hypervisor is not yet updated to expose 134 the CPUID to the guest. If the host has updated microcode the protection 143 The kernel detects the affected CPUs and the presence of the microcode 146 If a CPU is affected and the microcode is available, then the kernel 176 If the L1D flush mitigation is enabled and up to date microcode is
|
/Linux-v5.10/drivers/net/wireless/intel/iwlegacy/ |
D | Kconfig | 23 In order to use this driver, you will need a microcode (uCode) 24 image for it. You can obtain the microcode from: 28 The microcode is typically installed in /lib/firmware. You can 49 In order to use this driver, you will need a microcode (uCode) 50 image for it. You can obtain the microcode from: 54 The microcode is typically installed in /lib/firmware. You can
|
/Linux-v5.10/drivers/crypto/cavium/cpt/ |
D | cptpf.h | 22 struct microcode { struct 53 struct microcode mcode[CPT_MAX_CORE_GROUPS]; argument
|
D | cptpf_main.c | 123 static int cpt_load_microcode(struct cpt_device *cpt, struct microcode *mcode) in cpt_load_microcode() 161 static int do_cpt_init(struct cpt_device *cpt, struct microcode *mcode) in do_cpt_init() 257 struct microcode *mcode; in cpt_ucode_load_fw() 416 struct microcode *mcode = &cpt->mcode[grp]; in cpt_unload_microcode()
|
/Linux-v5.10/arch/x86/kernel/cpu/ |
D | proc.c | 83 if (c->microcode) in show_cpuinfo() 84 seq_printf(m, "microcode\t: 0x%x\n", c->microcode); in show_cpuinfo()
|
D | intel.c | 133 u32 microcode; member 176 return (c->microcode <= spectre_bad_microcodes[i].microcode); in bad_spectre_microcode() 199 c->microcode = intel_get_microcode_revision(); in early_init_intel() 226 c->microcode < 0x20e) { in early_init_intel()
|
D | match.c | 86 if (!res || res->x86_microcode_rev > boot_cpu_data.microcode) in x86_cpu_has_min_microcode_rev()
|
D | Makefile | 49 obj-$(CONFIG_MICROCODE) += microcode/
|
/Linux-v5.10/arch/x86/include/uapi/asm/ |
D | mce.h | 37 __u32 microcode; /* Microcode revision */ member
|
/Linux-v5.10/drivers/soc/fsl/qe/ |
D | qe.c | 483 calc_size = struct_size(firmware, microcode, firmware->count); in qe_upload_firmware() 492 be32_to_cpu(firmware->microcode[i].count); in qe_upload_firmware() 534 const struct qe_microcode *ucode = &firmware->microcode[i]; in qe_upload_firmware()
|
/Linux-v5.10/Documentation/process/ |
D | changes.rst | 232 Intel IA32 microcode 235 A driver has been added to allow updating of Intel IA32 microcode, 240 mknod /dev/cpu/microcode c 10 184 241 chmod 0644 /dev/cpu/microcode 431 Intel P6 microcode
|
/Linux-v5.10/Documentation/ |
D | Changes | 232 Intel IA32 microcode 235 A driver has been added to allow updating of Intel IA32 microcode, 240 mknod /dev/cpu/microcode c 10 184 241 chmod 0644 /dev/cpu/microcode 431 Intel P6 microcode
|
/Linux-v5.10/drivers/net/wan/ |
D | cosa.c | 1386 static int download(struct cosa_data *cosa, const char __user *microcode, int length, int address) in download() argument 1406 if (get_user(c, microcode)) in download() 1409 c = *microcode; in download() 1413 microcode++; in download() 1460 static int readmem(struct cosa_data *cosa, char __user *microcode, int length, int address) in readmem() argument 1484 if (put_user(c, microcode)) in readmem() 1487 *microcode = c; in readmem() 1489 microcode++; in readmem()
|