Выпуск Coreboot 25.09, открытой альтернативы проприетарным прошивкам

Опубликован выпуск проекта CoreBoot 25.09, разрабатывающего свободную альтернативу проприетарным прошивкам и BIOS. Код проекта распространяется под лицензией GPLv2. В состав новой версии включено 684 изменения, подготовленных при участии 110 разработчиков.

Основные изменения:

  • Реализована поддержка материнских плат:
    • ASROCK SPC741D8-2L2T/BCM.
    • GIGABYTE GA_H81M_D2W.
    • HP 260 G1 DM, HP Compaq Pro 6300 SFF/MT, HP ProDesk 600 G1 SFF.
    • Intel Ptlrvp4es
    • Lenovo ThinkPad T480/T480s.
    • 11 плат, применяемых в различных устройствах с Chrome OS или на серверах Google.
  • Значительно ускорена загрузка SPI Flash и payload-компонентов. При сборке в режиме CONFIG_SSE в коде распаковки на базе алгоритма LZMA задействованы SSE-инструкции prefetch, позволившие организовать упреждающую загрузку данных в кэш CPU без прерывания операции распаковки. При тестировании интерфейса SPI с пропускной способностью
    100Mbit/s на мобильных CPU Intel Sandy Bridge удалось добиться сокращения времени загрузки на 46 мс и ускорения на 30% распаковки payload-компонентов.

    Для платформ Intel Panther Lake реализована поддержка асинхронной загрузки файлов, использующая SPI DMA для упреждающей загрузки файла fsps.bin параллельно с выполнением на CPU других задач. На устройствах Fatcat предложенная оптимизация ускорила загрузку на 17-18 мс. Повышена эффективность операций DMA. Добавлена новая функция синхронизации cbfs_preload_wait_for_all(), позволяющая безопасно завершать асинхронные операции до деактивации бэкендов хранения. В подсистеме Fast SPI DMA реализована очередь передачи данных на основе токенов, минимизирующая задержки между последовательными операциями DMA и обеспечивающая более предсказуемую производительность загрузки.

  • Реализована возможность обнаружения режима загрузки, позволяющая платформам передавать в payload-компоненты критически важную информацию о состоянии загрузки. Поддерживается определение нормального режима загрузки, режима низкого заряда аккумулятора и
    режима зарядки аккумулятора через стандартизированный интерфейс boot_mode_t.
  • Переработано управление MTRR (Memory Type Range Registers) для видеопамяти, что сократило время инициализации FSP-S (Firmware Support Package – Silicon) за счёт переноса настройки MTRR WC (Write-Combine) для видеопамяти из функций отрисовки логотипа на стадию инициализации чипа. В итоге время инициализации графической подсистемы сократилось с 123 до 115 мс. Переработка также упростила сопровождение кода за счёт разделения управления MTRR и функций отрисовки логотипа.
  • В утилите amdfwtool, предназначенной для работы прошивками AMD, улучшена обработка режима адресации и расширены возможности разбора структуры EFW на платформе Turin.
  • В утилиту smmstoretool добавлена поддержка переменных размеров блоков и алиасинга таблиц разделов GUID в режиме Secure Boot для улучшения управления переменными UEFI.
  • Расширена поддержка TPM для различных платформ с CRB TPM и улучшена интеграция fTPM для платформ AMD.
  • Улучшена отрисовка логотипа.
  • Улучшена совместимость с дисплейным драйвером Bochs.
  • Повышена стабильность утилиты cbfstool при сортировке таблицы FIT и в случае сбоев при выполнения операций сжатия.
  • Для платформ Intel, AMD, MediaTek и Qualcomm внесены изменение, улучшающие управление энергопотреблением, инициализацию памяти и поддержку аппаратных интерфейсов.
  • Обновлены версии binutils 2.44, ACPICA 20250404, MPFR 4.2.2, SeaBIOS 1.17.0, U-Boot 2025.07.
Release. Ссылка here.