Есть ли какие-либо функции, которые могут получить доступ к одному значению smbios с помощью техники протокола? - PullRequest
0 голосов
/ 27 мая 2019

Я новичок в uefi и пытаюсь получить доступ к значениям smbios с помощью протокола. Я проверил спецификации UEFI и SMBIOS, но ничего не нашел с ними.

Я знаю, что есть одна функция, называемая pci.read (), которая может обращаться к одному значению в области памяти pci каждый раз при использовании протоколов для работы с устройствами pci. Кажется, что нет одинаковой функции для чтения одного значения каждый раз, чтобы иметь дело с протоколами smbios?

То, что я нашел в спецификации, которая похожа, - это GetNext (), но эта функция выводит только три значения заголовка. Мне интересно, есть ли способ прочитать одно значение каждый раз, чтобы я мог мгновенно напечатать () значение? Или поместить значения памяти smbios в массив?

1 Ответ

0 голосов
/ 27 мая 2019

SMBIOS для UEFI является не чем иным, как указателем на таблицу конфигурации (доступной через системную таблицу UEFI и идентифицируемой указанным GUID).

Там - это и EFI_SMBIOS_PROTOCOL, но это часть спецификации PI (инициализация платформы), а не UEFI - поэтому не может считаться переносимым интерфейсом. Последняя версия спецификации PI (в настоящее время 1.7) может быть загружена с https://uefi.org/specifications.

В противном случае возьмите указатель из системной таблицы и проанализируйте структуру вручную. Размер таблицы структуры можно прочитать из точки входа SMBIOS.

...