Новости

02.10.2017

RU.efi, утилита Джеймса Ванга, сотрудника тайваньского ...

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

    Публикации

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

    Утилиты

    Реклама

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

        Яндекс.Метрика
    Главная » Программы » Исходный код » Исходный код UEFImark, v0.96

    Исходный код UEFImark, v0.96

    Консолидированный апдейт утилиты UEFImark v0.96 включает все дополнения и изменения, возникшие в процессе отладки предыдущих инженерных версий, начиная с UEFImark v0.93. Несмотря на то, что результирующая информация пополнилась всего лишь одной строкой, сообщающей о работе в режиме совместимости с Legacy BIOS, алгоритм UEFI-приложения претерпел серьёзные изменения. Все они перечислены в пошаговой истории, ведущейся от версии к версии.

    Определение скорости записи в видеопамять с помощью утилиты UEFImark v0.96
    Рис 1. Определение скорости записи в видеопамять интегрированного контроллера
    на ноутбуке ASUS N550JV с помощью утилиты UEFImark v0.96

    Исходный код

    Исходный код утилиты UEFImark v0.96 доступен в виде ZIP-архива.

    UEFImark, v0.94

    1) Добавлен третий метод бенчмарок видеопамяти: с использованием операции BLT (Block Transfer). Таким образом, программа выдает три результата бенчмарок:

    Примечание.
    Используется 32-битное кодирование пикселей, согласно требованиям GOP. Таким образом, 16 байт (128 бит) это 4 пикселя, 4 байта (32 бит) это один пиксель.

    2) Исправлена ошибка, приводившая к квантованию результатов бенчмарок, а также к зависанию программы, если при вычислении пропускной способности видео памяти возникает арифметическое переполнение.

    3) Исправлена ошибка, связанная с модификацией указателей. При распознавании производителя процессора и сканировании списка сигнатур, вместо приращения адреса сигнатуры происходило приращение номера строки. Из-за этого строка списка технологий поддерживаемых процессором смещалась вниз, а строки, расположенные после нее были не видны. Проблема не проявлялась, если процессор Intel, в этом случае сигнатура первая в списке и выполнять поиск с модификацией указателя сигнатур не требуется.

    UEFImark, v0.95

    1) В случае отсутствия вакантных регистров MTRR (Memory Type and Range Registers), программа не завершается с ошибкой, а работает без оптимизации MTRR статуса диапазона доступа к видео памяти.

    2) Если видео контроллер не использует PCI Express Link, но присутствует графический сопроцессор (3D Controller), использующий PCI Express Link, параметры шины PCI Express выводятся для 3D контроллера. Ранее в этом случае параметры шины PCI Express не выводились.

    3) Выполнено выравнивание стека при вызове функций UEFI API: Graphics Output Protocol, Simple Text Output Protocol. Игнорирование выравнивания приводило к зависанию на ряде платформ, если режим CSM (Compatibility Support Module) выключен и видео адаптер обслуживается UEFI драйвером firmware.

    4) Внесены изменения в процедуру детектирования физического размера видео памяти. Ранее, некоторые несоответствия читаемых и записываемых данных, возникающие в результате спекулятивного выполнения операций контроллером видео памяти, воспринимались как ошибки, при этом в поле физического размера видео памяти выводился символ “?”.

    UEFImark, v0.96

    1) Исправлена ошибка, связанная с выводом текстовых строк при старте программы. Ошибка состояла в факте использования Simple Text Output Protocol уже после переключения видео режима функцией GOP.Set_Mode, в частности, вывод результата “OK” или “FAILED” после “Set graphics video mode…”.

    2) С учетом особенностей реализации функции GOP.BLT процедурами AMI UEFI firmware, результаты замера скорости выполнения для первого (после переключения видео режима) вызова функции GOP.BLT, игнорируются. Время выполнения вызываемой процедуры в этом случае значительно больше, что предположительно связано с обновлением внутренних переменных в firmware. Замечено на плате ASUS Z87-K.

    3) С учетом особенностей реализации функции GOP.Set_Mode процедурами AMI UEFI firmware, при выходе из программы, после восстановления исходного видео режима, добавлена процедура очистки экрана с использованием Simple Text Output Protocol. При возврате из UEFI-приложения, AMI UEFI firmware возвращает исходное состояние экрана, то есть текстовые сообщения, которые были на экране до того, как приложение переключило видео режим. При этом могут появляться лишние пиксели и линии. Замечено на ноутбуке ASUS N550JV, Проявляется только при включенном режиме CSM.

    4) Исправлена ошибка, приводившая к некорректному отображению MTRR статуса видео памяти: отображалось UC(Uncacheable) вместо WC (Write Combining).

    5) Реализовано детектирование наличия CSM (Compatibility Support Module) и вывод результата в блоке системной информации. Для детектирования проверяется наличие EFI_LEGACY_BIOS_PROTOCOL. В связи с добавлением нового шага изменено назначение отладочных кодов 20h-2Ah порта 80h. См. документ «Контрольные точки UEFImark v0.96, которые выводятся в порт 80h».



    19.11.2017