Intel microcode for linux

Пакет: intel-microcode (3.20230512.1) [non-free-firmware]

This package contains updated system processor microcode for Intel i686 and Intel X86-64 processors. Intel releases microcode updates to correct processor behavior as documented in the respective processor specification updates.

For AMD processors, please refer to the amd64-microcode package.

Другие пакеты, относящиеся к intel-microcode

  • зависимости
  • рекомендации
  • предложения
  • enhances
  • dep: iucode-tool (>= 1.0) Intel processor microcode tool
  • rec: initramfs-tools (>= 0.113~) универсальная модульная программа для создания initramfs (автоматизация)

Загрузка intel-microcode

Загрузить для всех доступных архитектур
Архитектура Размер пакета В установленном виде Файлы
amd64 5 980,5 Кб 12 072,0 Кб [список файлов]
i386 6 115,6 Кб 12 299,0 Кб [список файлов]

Эта страница также доступна на следующих языках (Как установить язык по умолчанию):

Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.

Авторские права © 1997 — 2023 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

License

coreboot/intel-microcode

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Читайте также:  Astra linux print server

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Intel Processor Microcode Package for Linux

The Intel Processor Microcode Update (MCU) Package provides a mechanism to release updates for security advisories and functional issues, including errata. In addition, MCUs are responsible for starting the SGX enclave (on processors that support the SGX feature), implementing complex behaviors (such as assists), and more. The preferred method to apply MCUs is using the system BIOS. For a subset of Intel’s processors, the MCU can also be updated at runtime using the operating system. The Intel Microcode Package shared here contains updates for those processors that support OS loading of MCUs.

Updating your microcode can help to mitigate certain potential security vulnerabilities in CPUs as well as address certain functional issues that could, for example, result in unpredictable system behavior such as hangs, crashes, unexpected reboots, data errors, etc. To learn more about applying MCUs to an Intel processor, see Microcode Update Guidance.

Loading microcode updates

This package is provided for Linux distributors for inclusion in their OS releases. Intel recommends obtaining the latest MCUs using the OS vendor update mechanism. A good starting point is OS and Software Vendor. Expert users can update their microcode directly outside the OS vendor mechanism. However, this method is complex and could result in errors if performed incorrectly. Such errors could include but are not limited to system freezes, inability to boot, performance impacts, logical processors loading different updates, and some updates not taking effect. As a result, this method should be attempted by expert users only.

MCUs are best loaded from the BIOS. Certain MCUs must only be applied from the BIOS. Such MCUs are never packaged in this package since they are not appropriate for OS distribution. An OEM may receive microcode update packages that are a superset of what is contained in this package for inclusion in a BIOS.

Читайте также:  Виртуальное сетевое устройство linux

OS vendors may choose to provide an MCU that the kernel can consume for early loading. For example, Linux can apply an MCU very early in the kernel boot sequence. In situations where a BIOS update isn’t available, early loading is the next best alternative to updating processor microcode. Microcode states are reset on a power reset, hence its required that the MCU be loaded every time during boot process.

Using the initrd method to load an MCU is recommended as this method will load the MCU at the earliest time for the most coverage. Systems that cannot tolerate downtime may use the late-load method to update a running system without a reboot.

About Processor Signature, Family, Model, Stepping and Platform ID

The Processor Signature is a number identifying the model and version of an Intel processor. It can be obtained using the CPUID instruction, via the command lscpu, or from the content of /proc/cpuinfo. It’s usually presented as 3 fields: Family, Model, and Stepping.

For example, if a processor returns a value of «0x000906eb» from the CPUID instruction:

Reserved Extended Family Extended Model Reserved Processor Type Family Code Model Number Stepping ID
31:28 27:20 19:16 15:14 13:12 11:8 7:4 3:0
xxxx 00000000b 1001b xx 00b 0110b 1110b 1011b

The corresponding Linux formatted file name will be «06-9e-0b», where:

  • Extended Family + Family = 0x06
  • Extended Model + Model Number = 0x9e
  • Stepping dir=»auto»>A processor may be implemented for multiple platform types. Intel processors have a 3bit Platform ID field in MSR(17H) that specifies the platform type for up to 8 types. An MCU file for a specified processor model may support multiple platforms. The Platform ID(s) supported by an MCU is an 8bit mask where each set bit indicates a platform type that the MCU supports. The Platform ID of a processor can be read in Linux using rdmsr from msr-tools.

Microcode update instructions

The intel-ucode directory contains binary MCU files named in the family-model-stepping format. This file format is supported by most modern Linux distributions. It’s generally located in the /lib/firmware directory and can be updated through the microcode reload interface following the late-load update instructions below.

To update early loading initrd, consult your Linux distribution on how to package MCU files for early loading. Some distributions use update-initramfs or dracut . Use the OS vendors recommended method to help ensure that the MCU file is updated for early loading before attempting the late-load procedure below.

To update the intel-ucode package to the system:

  1. Ensure the existence of /sys/devices/system/cpu/microcode/reload
  2. Download the latest microcode firmware
    $ git clone https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git or
    $ wget https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/main.zip
  3. Copy intel-ucode directory to /lib/firmware , overwriting the files in /lib/firmware/intel-ucode/
  4. Write the reload interface to 1 to reload the microcode files, e.g.
    $ echo 1 > /sys/devices/system/cpu/microcode/reload
    Microcode updates will be applied automatically without rebooting the system.
  5. Update an existing initramfs so that next time it gets loaded via kernel:
    $ sudo update-initramfs -u
    $ sudo reboot
  6. Verify that the microcode was updated on boot or reloaded by echo command:
    $ dmesg | grep microcode or
    $ cat /proc/cpuinfo | grep microcode | sort | uniq

If you are using the OS vendor method to apply an MCU, the above steps may have been done automatically during the update process.

The intel-ucode-with-caveats directory contains MCUs that need special handling. The BDX-ML MCU is provided in this directory because it requires special commits in the Linux kernel otherwise updating it might result in unexpected system behavior. OS vendors must ensure that the late loader patches (provided in linux-kernel-patches) are included in the distribution before packaging the BDX-ML MCU for late-loading.

The linux-kernel-patches directory consists of kernel patches that address various issues related to applying MCUs.

  • You can only update to a higher MCU version (downgrade is not possible with the provided instructions)
  • To calculate Family-Model-Stepping, use Linux command:
    $ printf «%x\n»
  • There are multiple ways to check the MCU version number BEFORE update. After cloning this Intel Microcode update repo , run the following:
    • $ iucode_tool -l intel-ucode | grep -wF sig (iucode_tool package is required)
    • $ od -t x4 will read the first 16 bytes of the microcode binary header specified in . The third block is the microcode version. For example: $ od -t x4 06-55-04
      0000000 00000001 *02000065* 09052019 00050654

    See the license file for details.

    See the security.md file for details.

    Источник

Оцените статью
Adblock
detector