AGESA

AMD Generic Encapsulated Software Architecture (AGESA) — протокол начальной загрузки, предназначенный для инициализации устройств на материнских платах AMD64. AGESA в BIOS отвечает за инициализацию процессорных ядер, памяти и контроллера HyperTransport.

Ранее документация[1] была доступна только партнёрам AMD, подписавшим NDA. Исходный код был открыт в 2011 году[2], чтобы стать частью coreboot, однако распространялся только до 2014 года[3].

Состав

Система использует трёхуровневую числовую схему XYZ. X — статус прототипа, Y — номер автоматически генерируется, когда появляется небольшое изменение в спецификации интерфейса, Z — номер автоматически генерируется для каждого выпуска ПО.

Продукт, предоставляемый пользователю, включает в себя:

  • AGESA ПО файл для установки в ядро
  • Бинарные блоки файлов интерфейса и компиляции
  • Встроенные файлы контроля и инструменты
  • UEFI- BIOS-порты

Все файлы организованы в библиотеку.

Технические особенности

Концепция дизайна ПО нацелена на создание относительно постоянной для нескольких поколений процессоров интерфейсов. Поэтому начальные параметры и контент интерфейса сокращаются до предельных значений. Они приспособлены ко времени загрузки. Система включает в себя стили конструирования, бинарного кода, бинарной картинки, бинарных блоков структуры.

В настоящее время среда предоставляет четыре ступени реализации:

  • 16/32-bit SEC,
  • 32-bit PEI-инициализация,
  • 64-bit DXE-загрузка услуг,
  • 64-bit RTP-время работы.

В библиотеке системы представлены подробные примеры применения функций и отработки основных процессов и процедур (стека, общих, ввода, восстановления, продолжения работы, запуска, библиотека вызываемых процедур).

Система обеспечивает некоторые возможности кастомизации продукта, библиотеки функций и среды.

Встроенные системы отладки AGESA вносят возможности в среду хозяина и разработчика платформы, которые позволяют менять код и дают некоторую мобильность разработчику. IDS предоставляет три категории: configuration control, trace services, performance analyses. Данные категории помогают отслеживать процесс создания и работы программы при создании продукта от отправления её на выполнение до анализа результатов действий.

Примечания

  1. AMD Generic Encapsulated Software Architecture (AGESA) Interface Specification for Arch2008 Январь 2017  (неопр.). Дата обращения: 11 мая 2018. Архивировано 30 августа 2017 года.
  2. AMD and Coreboot LWN.net  (неопр.). Дата обращения: 11 мая 2018. Архивировано 12 мая 2018 года.
  3. AMD’s binary-only AGESA libraries  (неопр.). Дата обращения: 11 мая 2018. Архивировано 28 февраля 2019 года.