AMD опубликовал прототип openSIL, платформы для создания открытых прошивок

Компания AMD опубликовала исходные тексты первого рабочего прототипа платформы openSIL (Open-Source Silicon Initialization Library), развивающей компоненты для упрощения создания прошивок. openSIL предполагает вынос кода для инициализации оборудования в отдельно сопровождаемые и тестируемые библиотеки, которые могут статически связываться с основными прошивками без задействования специфичных протоколов. Библиотеки написаны на языке Си и распространяются под лицензией MIT. Кроме AMD в проекте также принимают участие компании AMI, AWS, Google, Meta, 9elements, 3mdeb, Datacom и Oxide.

Формирование продукта будет проходить в несколько стадий. На первой стадии за закрытыми дверями был разработан прототип платформы. На второй стадии, которая теперь завершена, опубликован код прототипа openSIL для платформы AMD CRB на базе SoC с процессором AMD EPYC четвёртого поколения (серия EPYC 9004, кодовое имя “Genoa“). На третьей стадии, которая продлится до 4 квартала 2024 года, планируется довести прототип до готовности к повсеместному использованию. Поставка первых UEFI-прошивок на базе openSIL ожидается в 2026 году. Из планов также упоминается подготовка инструкций по интеграции с CoreBoot, публикация спецификации openSIL Firmware Architecture Specification, создание прошивок на базе CoreBoot и AMI Aptio OpenEdition для платформы AMD CRB.

openSIL включает три базовые библиотеки, рассчитанные на статическое связывание во время компиляции:

  • xSIM (x86 Silicon Initialization Libraries) – предоставляет API для базовой инициализации хост-платформы, включая инициализацию DRAM, JEDEC и контроллеров памяти.
  • xPRF (x86 Platform Reference Library) – сервисы для инициализации специфичных аппаратных компонентов, таких как GPIO и SMM.
  • xUSL (x86 Utilities and Services Library) – вспомогательные внутренние обработчики, используемые в библиотеках xSIM и xPRF, и недоступные для вызова из прошивок.


Предложенные библиотеки позволяют быстро и просто добавить поддержку необходимого оборудования в типовые UEFI-прошивки, а также альтернативные прошивки, созданные на базе платформ CoreBoot, oreboot, FortiBIOS и Project µ. Проект избавляет разработчиков от необходимости раздельного сопровождения прошивок для конкретного оборудования и изначально развивается как открытый и прозрачно развиваемый инструментарий, что также позволит повысить безопасность прошивок, упростить тестирование, обеспечить независимую верификацию, унифицировать отслеживание ошибок и уязвимостей.

Release. Ссылка here.