Опубликован выпуск проекта 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.
|