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 года.