Новости

30.08.2017

Российская компания Positive Technologies анонсировала ...

  • Все новости (36)
  • Разделы новостей

    Публикации

    Майнеру на заметку

    Утилиты

    Реклама

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

        Яндекс.Метрика
    Главная » Статьи » Анализ системных ресурсов в UEFI

    Анализ системных ресурсов в UEFI

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

    Из последнего набора программных средств заслуживает внимания семейство BDUEFI в первую очередь тем, что в нем реализован механизм сохранения скриншотов, чего никак не сделает Джеймс Ванг, хотя по функциональности этот сет утилит является подмножеством RU32/RU64.

    О системных ресурсах

    В нашем случае стоит анализировать конфигурационное пространство PCI-шины с помощью 32-битной BDUx32 v1.1.5. Всего утилита детектирует 9 агентов на PCI-шине. Для каждого из них мы сохраняем скриншот, публикуя, правда, только один из них, чтобы не перегружать текст иллюстрациями:

    Полный листинг устройств, полученных с помощью агрессивного сканирования PCI-шины

    Полный листинг устройств, полученных с помощью BDUx32, выглядит следующим образом:

    Особых неожиданностей нет: отсутствие WiFi-контроллера вполне согласуется с полученными ранее результатами (см. «На что способен беспроводный адаптер?»). Три PCI-устройства (в т.ч. два широтно-импульсных модулятора) ответственны за питание системы и ее компонентов. Их обязанности – сотрудничество с контроллером питания AXP288D от X-Powers. Не обнаружен звуковой чип; в такой комплектации с аудио-контролером Realtek ALC5640 выпускается пока только стик-компьютер MeeGoPad T02.

    Кто нарушил спецификацию PCI?

    Вернемся к диагностике PCI-шины, но уже с помощью утилиты RU32 от Джеймса Ванга.

    Классическое сканирование PCI-шины находит меньше устройств, чем при агрессивном сканировании

    Очевидно, что количество обнаруженных PCI-устройств существенно меньше, чем в предыдущем эксперименте: оба PWM-контроллера (выделено красным) отсутствуют в списке. Почему? Давайте разбираться.

    В списке отсутствуют две функции, принадлежащие многофункциональному Serial IO устройству с координатами Bus:0, Device:30. Джеймс Ванг, как сотрудник American Megatrends (во всяком случае, он это утверждает), пользуется типовым с точки зрения спецификации алгоритмом сканирования PCI-шины. Этот алгоритм совершенно законно предполагает наличие у этого устройства Func:0, и если данная функция не обнаружена, дальнейшее сканирование функций со старшими номерами не выполняет.

    Действия программиста совершенно оправданы, так как ситуация с нумерацией PWM-контроллеров незаконна с точки зрения PCI-спецификации:

    Как спецификация PCI-шины описывает процедуру сканирования устройств

    Хуан Бохань в своей Debug Utility пользуется агрессивным сканированием, в результате чего получается более полный список обнаруженных устройств.

    Но кто же нарушил спецификацию? Как ни смешно, но виновата в большей степени компания American Megatrends, в которой работает Джеймс. Ведь это AMI Aptio инициализировал процессор Z3735F таким образом, что Func:0 оказалась запрещенной при доступных функциях Func:1 и Func:2. Их видимость в конфигурационном пространстве настраивается программно. Другое дело, что приемка со стороны Intel упустила сей момент. Как это отразится на диагностике платформы в среде операционных систем, мы попытаемся узнать в следующий раз.

    Окончание.
    Начало см. в статье «Наставления по UEFI-диагностике»



    21.09.2017