Разделы

Новое

Беседы про BIOS и UEFI

Утилиты

Реклама

Обзоры компьютерных гаджетов, которые должны быть всегда под рукой

Новости

23.11.2016

Инициативы компании Apple по отказу от классических ...

  • Все новости (32)
  • Спонсоры



        Яндекс.Метрика
    Главная » Статьи » Что внутри AMT?

    Что внутри AMT?

    Технология удаленного управления платформой Active Management Technology или AMT, одна из самых засекреченных сфер функционирования персональных систем и серверов. Тем не менее, открытая информация на микросхемы системной логики Platform Controller Hub (PCH, он же южный мост) позволит несколько приподнять завесу над тайной. Не пытаясь в короткой статье дублировать Datasheet, наметим основные направления исследований.

    Список регистров конфигурационного пространства микросхемы Intel 100 Series PCH, связанных с Active Management Technology
    Рис. 1. Список регистров конфигурационного пространства микросхемы Intel 100 Series PCH, связанных с Active Management Technology

    Как видим, ресурсы, имеющие отношения к AMT, представлены как функции многофунк­ци­о­наль­ного устройства с координатами Bus=0, Device=22. Номера PCI-устройств в таблице десятичные, поэтому напомним, 22=16h. Рассмотрим эти ресурсы.

    Intel ME Interface

    Можно сказать, что ME Interface, это малая часть ME, доступная в адресном пространстве процессора хост-платформы.

    Роль данного компонента в обеспечении функциональности AMT сводится к реализации коммуникационного и исполнительного механизма, поскольку существенная часть логики, обеспечивающей дистанционное управление платформой реализуется встроенным программным обеспечением Management Engine и Firmware платформы.

    Коммуникационный канал между программным обеспечением встроенного процессора Management Engine с одной стороны и UEFI Firmware платформы с другой, реализуется на основе интерфейса HECI (Host Embedded Controller Interface). Отметим, что драйверы ОС также могут взаимодействовать с данным ресурсом, минуя firmware.

    В дополнение к AMT-функциональности, архитектура платформы может предусматривать применение интерфейса HECI как частичной альтернативы шине System Management Bus (SMB), возлагая на него такие обязанности как получение информации аппаратного мониторинга, управление батарейным питанием, условиями перехода в энергосберегающие состояния и выхода из них.

    Опция Interrupt Delivery Mode (IDM), конфигурируемая посредством регистра HECI1_HIDM, позволяет выбирать тип прерывания, используемого для коммуникации между двумя программными модулями
    Рис. 2. Опция Interrupt Delivery Mode (IDM), конфигурируемая посредством регистра HECI1_HIDM, позволяет выбирать тип прерывания, используемого для коммуникации между двумя программными модулями: Embedded Controller Firmware и UEFI Firmware

    Рис.2 иллюстрирует гибкость архитектуры ресурсов AMT и HECI. Поясним это. Применение таких методов обработки прерываний, как Message Signaled Interrupt (MSI), System Control Interrupt (SCI) предпочтительнее в случае транспарентной реакции на системные события с привлечением процедур операционной системы.

    System Management Interrupt (SMI), как правило, используется для процессов, скрываемых внутри низкоуровневого программного обеспечения.

    Бит HIDM Lock позволяет запретить изменение метода обработки прерываний подсистемы HECI в сеансе ОС, зафиксировав значение, установленное UEFI при старте платформы, до следующей перезагрузки. В документах, перечисленных в конце статьи, можно найти описание регистров системной логики, обеспечивающих коммуникацию между ресурсами AMT-платформы. К сожалению, сам алфавит сообщений стандартизирован и освещен не настолько хорошо.

    IDE Redirect

    Технология IDE-R (IDE Redirect, по другой версии IDE Redirection) помогает минимизировать затраты на интеграцию AMT-возможностей в инфраструктуру вычислительных платформ. В ее основе эмуляция дискового накопителя на основе LAN соединения.

    В системную логику встраивается своеобразный мост, с одной стороны которого находится интерфейс LAN, с другой стороны, набор программно-доступных регистров, соответствующий контроллеру дисков стандарта IDE. Таким образом, разработчику UEFI остается только включить такой контроллер в список поддерживаемых mass storage устройств и удаленная загрузка по локальной сети уже поддерживается платформой.

    Keyboard and Text Redirection

    В основе этой функциональности также лежит эмуляция с целью унификации. Как нетрудно догадаться, речь идет о формировании единой архитектуры обработки событий клавиатурного ввода и получения скан-кодов, независимо от того на какой из клавиатур (локальной и удаленной) произошел ввод.

    Практика

    Исследуем конфигурационное пространство сервера ASUS P10S-i с помощью утилиты Read Universal в среде UEFI x64.

    Устройство ME Interface присутствует в конфигурационном пространстве
    Рис. 3. Устройство ME Interface присутствует в конфигурационном пространстве

    Несмотря на то, что данная платформа не поддерживает AMT, устройство ME Interface проинициализировано согласно спецификации PCI PnP, доступно для Firmware и ОС.

    Дамп конфигурационных регистров устройства ME Interface
    Рис. 4. Дамп конфигурационных регистров устройства ME Interface

    Расшифровка регистровых полей приведена в открытой документации PCH Datasheet, перечисленной в приложении к статье. Содержимое регистров, входящих в состав PCI Header (адреса 00h-3Fh), стандартно определяется архитектурой PCI PnP. Далее, находятся поля, назначение которых состоит в обеспечении канала коммуникации между ME и CPU, например Host Firmware Status Register. К сожалению, о содержании этой коммуникации известно значительно меньше, а побитная расшифровка статусных регистров зависит от архитектуры конкретной модели платформы и встроенного программного обеспечения Management Engine.

    Резюме

    Рассматривая выше описанные ресурсы платформы, следует принять во внимание два фактора:

    1. Регистровые блоки описанных устройств являются программно-отключаемыми. Более того, системная логика может поддерживать состояния, при которых некоторые ресурсы «не видны» в конфигурационном PCI-пространстве, тем не менее обеспечивают функциональность. Поэтому, даже на платформе с включенной поддержкой AMT нет гарантии их обнаружения, если, конечно, вы не перенастроите «теневые» регистры конфигурирования платформы. На практике мы увидели и обратную ситуацию: платформа, не поддерживающая AMT, может поддерживать ME Interface, что подтверждает тезис о том, что технология Intel AMT, это только «одна из профессий» автономного процессора ME.
    2. Сценарий удаленного управления платформой, главным образом реализуется программой автономного микро контроллера. Аппаратная поддержка AMT системной логикой дает лишь фундамент, а то, что будет на нем построено, всецело определяется «прошивкой». Возможно именно поэтому, упоминания о секретных ресурсах включены в открытую документацию на микросхемы Platform Controller Hub. В любом случае, как далеко бы вы не планировали зайти в хакерских экспериментах, начинать следует с исследования открытых ресурсов.

    Документы



    28.07.2017