Компания AMD представила открытый проект openSIL для разработки прошивок

В рамках проекта AMD openSIL (Open-Source Silicon Initialization Library) развивается набор открытых библиотек, содержащих компоненты для упрощения создания прошивок. Идея в выносе кода для инициализации оборудования в отдельные, независимо тестируемые и сопровождаемые, библиотеки openSIL, которые написаны на распространённом языке Си и могут статически связываться с основными прошивками без задействования специфичных протоколов.

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

Совместно с компаниями 9elements, AMI, AWS, 3mdeb, Datacom, Google, Meta и Oxide подготовлен первый вариант набора openSIL для эталонной платформы на базе четвёртого поколения процессоров AMD EPYC. Прототип будет продемонстрирован на конференции OCP Regional Summit, которая состоится с 19 по 20 апреля 2023 года. Отмечается, что код пока не готов к повсеместному использованию и находится на стадии рабочего прототипа. Из ближайших планов упоминается подготовка инструкций по интеграции с CoreBoot, публикация спецификации openSIL Firmware Architecture Specification, создание прошивок на базе CoreBoot и AMI Aptio OpenEdition для платформы AMD CRB на базе SoC AMD EPYC 4 Gen.

CFD0C5CECEC5D4_1681464040.png

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

  • xSIM (x86 Silicon Initialization Libraries) — предоставляет API для базовой инициализации хост-платформы, включая инициализацию DRAM, JEDEC и контроллеров памяти.

  • xPRF (x86 Platform Reference Library) — сервисы для инициализации специфичных аппаратных компонентов, таких как GPIO и SMM.
  • xUSL (x86 Utilities & Services Library) — вспомогательные внутренние обработчики, используемые в библиотеках xSIM и xPRF, и недоступные для вызова из прошивок.

CFD0C5CECEC5D4_1681464252.png



Источник: http://www.opennet.ru/opennews/art.shtml? num=58976

©  OpenNet