Что такое pci в биосе

Что такое pci в биосе

PCI Express, (или PCIe, или PCI-E) – это компьютерная шина расширения, предназначена для подключения периферийных устройств к системной плате персонального компьютера. PCI Express реализовывает программную модель интерфейса PCI и протокол последовательной передачи данных.

Данная шина пришла на смену интерфейсам AGP, PCI-X, PCI. Шина является локальной (внутренней). К преимуществам интерфейса PCI Express относиться поддержка горячей замены карт (под термином горячая замена подразумевают возможность отключать/подключать устройства во время работы компьютера, т.е., без отключения питания).

Главным отличием интерфейса PCI Express от PCI является использование двунаправленного последовательного соединения типа точка-точка (напомним, что в интерфейсе PCI используется 32-битная двунаправленная параллельная шина, к которой подключаются все PCI-устройства).

Шина PCI Express может использовать несколько последовательных соединений типа точка-точка (для данного интерфейса они называются линиями): x1 (одна линия), x2 (две линии), x4 (четыре линии), x8 (восемь линий), x12 (двенадцать линий), x16 (16 линий), x32 (32 линии). Другими словами соединение между картами PCI-Express состоит из одной (1x) или нескольких (2x, 4x, 8x, 12x, 16x, 32x) линий.

Например, если слот PCI Express имеет приставку x16 (PCI Express x16), это значит, что он 16-канальный (предназначен в первую очередь для карты PCI Express x16).

Любая карта расширения PCI Express может работать в любом из слотов шины PCI Express (x1, x2, x4, x8, x12, x16 и x32), при условии, что поместится в данный слот. Т.е, карта расширения с меньшим количеством линий (контактов) будет работать в слоте с большим количеством контактов, но при этом будет использоваться то количество линий, сколько разведено на карте.

Пропускная способность шины PCI Express зависит от количества используемых линий и режима передачи данных (дуплексный или полудуплексный):

Полудуплексный режим передачи данных, Гбит/с

Источник

Зачем нужен PCI Latency Timer и как его правильно настроить

BIOS содержит довольно много настроек, разобраться в которых не всегда просто, так как справочная информация по некоторым функциям иногда отсутствует или не помогает ясно понять принципы их работы. Поэтому многие пользователи задаются закономерным вопросом: PCI Latency Timer, что это такое? Давайте разберемся, зачем нужна эта функция и как ее правильно настроить.

Этот параметр BIOS определяет, как долго будет устройство, подключенное к шине PCI, удерживать ее для собственных нужд, для передачи по ней своих данных. До истечения этого времени (количества тактов) все другие устройства, которые используют шину PCI, не смогут ей воспользоваться. По умолчанию значение этой функции равно 32 или 64 тактам, и в большинстве случаев его можно безболезненно увеличить. Минимальная величина равна 32, при этом шаг используемого цикла может быть последовательно увеличен на 32 такта (64, 96 и так далее), вплоть до 224.

Что такое pci в биосе. Смотреть фото Что такое pci в биосе. Смотреть картинку Что такое pci в биосе. Картинка про Что такое pci в биосе. Фото Что такое pci в биосе

Возможные значения опции

Максимальное же значение этой функции можно установить равным 248.

Как правильно настроить этот параметр

Повышение значения PCI Latency Timer помогает увеличить эффективную пропускную способность одноименной шины, что в определенных случаях может привести к неправильной работе некоторых высокоскоростных устройств, которые передают и получают большие объемы информации. Например, подобные проблемы часто возникают у RAID-контроллеров.

Тем не менее рекомендуется попробовать увеличить значение этого параметра, особенно если в компьютере установлено немного карт расширения, использующих PCI-разъем. В этом случае стоит постепенно (на 32 такта) повышать значение PCI Latency Timer перед началом загрузки операционной системы, после чего внимательно отслеживать производительность работы компьютера и его программного обеспечения.

Если все функционирует нормально, тогда можно последовательно увеличивать значение PCI Latency Timer до, примерно, 160 тактов и даже выше, если в этом есть серьезная необходимость. С другой стороны, при возникновении неполадок в работе PCI-устройств следует уменьшить значение вышеуказанного параметра, вплоть до 64 или даже 32 тактов. Такая необходимость возникает, когда PCI шину использует много устройств, некоторые из которых нуждаются в приоритетном доступе к этой шине для безошибочной работы. Поэтому следует запомнить, что, установив параметр PCI Latency Timer равным 32, можно устранить подобные проблемы.

Источник

PCI BIOS

Перевод PCI BIOS SPECIFICATION
Revision 2.1
August 26, 1994

Перевод выполнил Pavia в 23:43, 21 февраля 2009 (UTC)

Содержание

Введение

Этот документ описывает программный интерфейс, представленный функциями PCI BIOS. Этот интерфейс предоставляет аппаратно независимый метод управления PCI устройствами компьютера.

Возможности

Этот документ предназначен для того чтобы снабдить достаточной информацией разработчиков программного обеспечения, которые собираются использовать PCI устройства компьютера, но не имеют знаний о том, как имеющееся оборудование выполняет желаемые функции. Этот документ создан и для того чтобы предоставить достаточно информации для осуществления или создания этих самых функций в BIOS для конкретной системе.

Вспомогательные документы

Термины и аббревиатуры

Bus NumberНомер шиныЧисло в диапазоне от 0 до 255 включительно, однозначно задающее одну из шин PCI.
Configuration SpaceКонфигурационное пространствоОтдельное для каждой из шин PCI адресное пространство. Используется для перечисления устройств и выделения для них диапазонов памяти и портов ВВ.
Device IDID устройстваПоле в конфигурационном пространстве, вместе с ID поставщика однозначно идентифицирующее данное устройство. (Прим. переводчика: пары (Vendor ID, Device ID) регистрируются PCI-SIG, в интернете можно найти и скачать базу)
Device NumberНомер устройстваЧисло в диапазоне от 0 до 31 включительно, однозначно задающее устройство на PCI-шине.
Function NumberНомер функцииЧисло в диапазоне от 0 до 7 включительно, однозначно задающее функцию многофункционального PCI-устройства.
Multi-function PCI deviceМногофункциональное PCI-устройствоPCI-устройство, имеющее несколько функций. Например, PCI-устройство, совмещающее в себе функции LAN и SCSI и имеющее для каждой из них отдельное конфигурационное пространство, будет многофункциональным.
PCIPCIСокращение от Peripheral Component Interconnect bus (англ. шина связи периферийных устройств).
Special CycleОсобый циклОпределённая команда шины PCI, служащая для оповещения всех устройств одновременно.
Vendor IDID поставщикаПоле в конфигурационном пространстве, вместе с ID устройства однозначно идентифицирующее данное устройствоо. (Прим. переводчика: пары (Vendor ID, Device ID) регистрируются PCI-SIG, в интернете можно найти и скачать базу)

Описание функционирования

Функции PCI BIOS предоставляют программный интерфейс для оборудования, используемого в системах, базирующихся на PCI. Их главное назначение для генерации операции в специальных арестных пространствах PCI (конфигурационное пространство, а также специальные циклы).
PCI BIOS функции определены, и должны быть реализованы, для работы во всех режимах x86 архитектуры. Это включает: реальный режим, 16:16 защищенный режим (также известен как 286 protect mode),&nbsp 16:32 защищенный режим (введенный с 386), и 0:32 защищенный режим (также&nbsp известный как » плоский режим «, в котором все сегменты начинаются с линейного адреса 0 и охватывают всё 4&nbsp Гбайтное адресное пространство).

(прим. Переводчика о 64битом режиме тогда не знали. А с его введением решили отказаться от BIOS в сторону Firmware и портов в/в)

Доступ к PCI BIOS функциям для 16-битных вызовов осуществляется через Interrupt 1Ah. 32-битный (т.е. защищенный режим) доступ предоставляется при помощи вызова точки входа для 32-битного защищенного режима. Для PCI BIOS функция имеет код 0B1h. А конкретные функцииБИОСа вызываются с помощью кода подфункции. Пользователь просто устанавливает регистры процессора для выполнения желаемых функций иподфункций и вызывает программное обеспечение PCI BIOS. Статус возвращается при помощи флага переноса ([CF]) и регистров для конкретной вызываемой функции.

Предположения и Ограничения

Местоположение ROM BIOS

Функциям PCI BIOS суждено находиться в ROM BIOS для совместимости с IBM-PC.

Соглашения о вызовах

Функции PCI BIOS используют регистры х86 процессора для передачи аргументов и возврата статуса. Вызывающий должен использовать существующие коды подфункций.
Эти подпрограммы сохраняют все регистры и флаги за исключение тех, которые используются для возвращения параметров. Также флаг переполнения [CF] будет изменен для индикации статуса завершения. Вызываемые подпрограммы завершатся без изменения флага прерывания и прерывания не будут разрешены во время работы функции. Эти подпрограммы вызывают другие подпрограммы. Эти подпрограммы требуют наличия 1024 байт стека. Сегмент стека должен иметь такой же размер как и сегмент кода (т.е. 16-бит или 32-бита).
PCI BIOS обеспечивает: интерфейсы для 16-битного реального режима и защищенного режим, и интерфейс для 32-битого защищенного режима. 16-битный интерфейс обеспечивается при помощи программного прерывания PC/AT Int 1Ah. PCI BIOS Int 1Ah интерфейс работает со следующими режимами: реальный режим, виртуальный-86 режим или 16:16 защищенный режим. Функции BIOS’а также доступны через индустриальный стандарт для точки входа INT 1Ah (физический адрес 000FFE6Eh), для вызова использовать симуляцию INT инструкции. Примечание, такой доступ к функциям BIOS через индустриальный стандарт для точки входа, сможет обойти любой код который ”похукал” вектор INT 1Ah.

Точка входа INT 1Ah поддерживает только 16-бит код. При вызове из защищенного режима селектор CS должен иметь базу 0F000h.
Интерфейс для защищенного режима поддерживает 32-битные вызовые из защищенного режима. Защищенный режим интерфейса PCI BIOS доступен через вызов (не эмулируя INT) при помощи точки входа для защищенного режима PCI BIOS. Адрес точки входа и информация необходимая для создания сегментных дескрипторов описана в разделе Cервис директорий BIOS32. 32-битные подпрограммы PCI BIOS вызываются при помощи дальнего вызова CALL FAR.
Подпрограммы PCI BIOS (для обоих 16-битных и 32-битных вызывающих) должны вызываться с определенными привилегиями такими как доступ к портам в/в. Внедряющие PCI BIOS должны предполагать CS предназначен только для исполнения и DS только для чтения.

Cервис директорий BIOS32

Обнаружение отсутствия или присутствия 32-битного сервиса BIOS с использованием 32-разрядного кода может быть проблематичным. Стандартная точка входа в BIOS не может быть вызвана на всех машинах в 32-битном режиме, потому что BIOS платформы может не поддерживать 32-разрядные вызовы. В этом разделе описывается&nbsp механизм для определения присутствия в 32-битного сервиса BIOS’а. Несмотря на то, что механизм позволяет производить поиск PCI BIOS, он призван быть более широким, тем самым он позволяет находить любые / все возможные 32-битные сервисы BIOS’а.

Описание этого механизма, известного как сервис директорий BIOS32, представлен в трех частях: первая часть определяет алгоритм для определения существования сервиса директорий BIOS32 на данной платформе, вторая часть&nbsp определяет интерфейс для обращения с сервисом директорий BIOS32, и третья часть описывается, как сервис директорий BIOS32 реализует поддержку метода определения наличия PCI BIOS.

определение существования сервиса директорий BIOS32

смещениеразмерописание
0h4 байтаСигнатура, строка в ASCII кодах. Эта строка – ”_32_”.
“_” смещение 0, “3” смещение 1, “2” смещение 2, “_” смещение 3.
4h4 байтаТочка входа для сервиса директорий BIOS32. Это 32-битный физический адрес.
8h1 байтВерсия. Эта версия составляет 00.
9h1 байтДлина структуры в параграфах (т.е. 16 байт). Для данной структуры 01h.
0Ah1 байтКонтрольная сумма. Эта поле должно содержать число, так чтобы сумма всех 16 байт по модулю 255 равнялась нулю.
0Bh5 байтРезерв. Должно быть ноль.

Клиенты сервиса директорий BIOS32 должны определить его существование путем сканирования диапазона 0E0000h к 0FFFF0h и поиска ASCII сигнатуры, а после проверка контрольной суммы. Если структура данных найдена, то сервиса директорий BIOS32 доступен через точку входа. Если структура не найдена, то сервиса директорий BIOS32 не поддерживается данной платформой (как следствие и PCI BIOS).

Интерфейс вызовов для службы директорий BIOS32

81h = Функция свободна для Сервиса Директорий BIOS (то есть. [BL] на входе содержит нераспознанное значение).

EBXФизический адрес базы сервиса BIOS’а.ECXДлина сервиса BIOS’а.EDXТочка входа в сервис BIOS’а. Это смещение относительно базы заданной в EBX.

PCI BIOS 32-битный сервис

Сервис BIOS 32 может быть использован для определения присутствия PCI BIOS. Сервисный идентификатор для PCI BIOS это «$PCI» (049435024h).
32-битные функции PCI BIOS должны быть доступны при помощи дальнего вызова CALL FAR.
CS и DS дескрипторов должен быть настроены, так чтобы охватывать физические адреса, указанные Базой и Длиной, в параметрах возвращаемых сервисом каталогов BIOS32. CS и DS дескрипторы должны иметь ту самую Базу. Вызывающая среда должна разрешить доступ к портам в/в и должна обеспечивать, по крайней мере 1k стека. Программисты Platform BIOS должны предполагать, что CS предназначен только для исполнения и DS только для чтения.

Главный интерфейс

Определение ресурсов PCI

Следующая группа функций позволит пользователю определить: во-первых, проверить поддерживается PCI BIOS и он установлен, а во-вторых, если установлен, то определить конкретные PCI устройства, присутствующих в системе.

Определение наличия PCI BIOS

Эта функция позволяет пользователю определить, присутствует ли интерфейс PCI BIOS. И если присутствует тогда, позволяет определить какая это версия интерфейса. В ней также содержится информация о том, какой аппаратный механизм для доступа к конфигурации пространства поддерживается, а также поддерживается ли или не аппаратура генерацию специальных циклов PCI.

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALPCI_BIOS_PRESENT=01h
EXIT:
EDX«PCI «, «P» в DL, «C» в DH, и тд. Также старший байты заполнены символами ’пробел’.
AHСтатус наличия, 00h = BIOS присутствует т.т.т.к. EDX установлен должным образом.
ALАппаратный механизм.
BHВерсия интерфейса старшая часть версии
BLВерсия интерфейса младшая часть версии
CLНомер последней PCI шины в системе.
CFСтатус наличия, 1 = BIOS не присутствует,
0 = BIOS присутственный т.т.т.к. EDX установлен должным образом.

Если ФЛАГ ПЕРЕПОЛНЕНИЯ[CF] очищен и АХ установлен в 00h, то все еще необходимо исследовать содержание [EDX] на присутствия последовательности «PCI» + (хвостовых пробелов), чтобы полностью подтвердить присутствие набора функций PCI. [BX] в дальнейшем должен содержать номер версии, с достаточной степенью детализации, чтобы учесть возрастающие изменения в коде, который не затрагивает интерфейс функций. Номера версии представлены как Двоично-десятичное числа (BCD). Например, Версия 2.10 была бы представлена как 02h в [BH] регистре и 10h в [BL] регистре. Реализация интерфейса BIOS этой версии спецификации будет иметь версию 2.10 (BX = 0210h).

Значение, возвращенное в [AL], идентифицирует, какие определенные аппаратные особенности данной платформы поддерживаются. А именно, доступу к конфигурационному пространству и генерацию специальных циклов PCI(см. иллюстрацию 1). Спецификация PCI определяет два аппаратных механизма для того, чтобы получить доступ к конфигурационному пространству. Биты 0 и 1 из значения, возвращенного в [AL], определяют, какой механизм поддерживаются этой платформой. Бит 0 будет установлен (1), если Механизм #1 будет поддерживаться, и сброшен (0) в противном случаи. Бит 1 будет установлен (1), если Механизм #2 будет поддерживаться, и сброшен (0) в противном случаи. Биты 2,3,6 и 7 зарезервированы и возвращены как нули.

Пожалуйста добавте сюда&nbsp иллюстрацию №1

Значение, возвращенное в [CL], определяет номер последней шины PCI в системе. Шины PCI пронумерованы, начиная от нуля и кончая значением полученным в CL.

Поиск PCI устройств по Device ID и Vender ID

Эта функция возвращает расположение PCI устройств, которые имеют конкретное ID устройства(Device ID) и ID поставщика(Vendor ID). Учитывая ID поставщика, ID устройства и индекса (N), функция возвращает номер шины, номер устройства, а также номер функция N-ого устройства / функции у которого ID поставщика и ID устройства совпадают с параметрами ввода.

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALFIND_PCI_DEVICE=02h
CXID устройства/Device ID (0. 65535)
DXID поставщика/Vendor ID (0. 65534)
SIИндекс/Index (0. N)
EXIT:
BHНомер шины (0. 255)
BLНомер устройства в старших 5 битах
Номер функции в младших 3 битах.
AHВозвращаемые коды:
SUCCESSFUL
DEVICE_NOT_FOUND

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Вызывающее программное обеспечение может найти все устройства, имеющие одинаковые ID поставщика(Vendor ID) и ID устройства(Device ID) сделав несколько последовательных обращений к этой функции БИОСа. Начиная с индекса, установленного на нуль, а затем увеличивая его на один до возвращения кода ‘DEVICE_NOT_FOUND «. Код возврата&nbsp BAD_VENDOR_ID свидетельствует о том, что значение установленное в ID поставщика(в [DX]) было незаконными для всех.

Поиск PCI устройств по Class Code

Эта функция возвращает расположение PCI устройств, которые имеют конкретное значение Class Code. Учитывая Class Code и индекса (N), функция возвращает номер шины, номер устройства, а также номер функция N-ого устройства / функции у которого Class Code устройства совпадают с параметрами ввода.

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALFIND_PCI_CLASS_CODE =03h
ECXClass Code (в младших трех байтах)
SIИндекс/Index (0. N)
EXIT:
BHНомер шины (0. 255)
BLНомер устройства в старших 5 битах
Номер функции в младших 3 битах.
AHВозвращаемые коды:
SUCCESSFUL

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Вызывающее программное обеспечения можно найти все устройства, имеющие одинаковые Class Code сделав последовательно обращения к этой самой функции BIOS. Начиная с индекса, установленного на нуль, а также увеличивая его на один до возвращения кода ‘DEVICE_NOT_FOUND «.

Функции поддержки PCI

Следующие функции оказывают поддержку для нескольких определенных операций PCI.

Генерация специального цикла

Эта функция позволяет генерировать специальные циклы PCI. Сгенерированный специальный цикл будет передан по всем адресам конкретной PCI шине в системе.

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALGENERATE_SPECIAL_CYCLE=06h
BHномер шины (0..255)
EDXДанные для специального цикла.
EXIT:
AHВозвращаемые коды:
SUCCESSFUL

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Получение параметров маршрутизации прерываний PCI

Описание:
Логические входные параметры:
RouteBuffer Указатель на буфер структуры данных

Функция описанная в этом разделе возвращает варианты маршрутизации прерываний PCI, доступные на материнской плате системы и также текущем состоянии того, как перерывы в настоящее время исключительно назначаются на PCI. Информация маршрутизации возвращается в буфере данных, который содержит маршрутизацию IRQ для каждого устройства PCI или слота. Формат элемент таблицы маршрутизации IRQ показывают в таблице 4-1.

Баты смещениеРазмер в байтахИмя
0BytePCI Bus Number
1BytePCI Device Number (в верхних пяти битах)
2ByteLink значение для INTA#
3WordБитовая карта IRQ для INTA#
5ByteLink начение для INTB#
6WordБитовая карта IRQ для INTB#
8ByteLink начение для INTC#
9WordБитовая карта IRQ для INTC#
11ByteLink начение для INTD#
12WordБитовая карта IRQ для INTD#
14ByteSlot Number
15ByteРезерв

Значения номер слота «Slot Number» в конце структуры используется, чтобы сообщить, является ли запись в таблице для устройства материнской платы или для устройства вставленного в слот. Для устройств материнской платы Номер Слота должен быть выставлен в ноль. Для вставленных в слот устройств, Номер Слота должен иметь такое значение, которое соотноситься с физическим размещением слота на материнской плате. Это прямой способ определить физический номер щели с номером устройства PCI. Значения (за исключением 00h) OEM определенный. Для простоты в употреблении конечного пользователя, слоты в системе должны быть ясно маркированы (например, маска из припоя, задняя панель, и т.д.).

Например, система с 4 слотами ISA и 3 слотами PCI, устроенными как 3-ISA, 3-PCI, 1-ISA. Может быть выбран следующий способ нумерации: Первыми будут пронумерованы 3-ISA, после пойдут номера слотов PCI и они имели бы номера 4, 5 и 6. Если бы нумерация щели началась с 1-ISA, то затем числа слота PCI были бы 2, 3, и 4.

Эта подпрограмма требует одного параметра, RouteBuffer, который является дальним(FAR) указателем на структуру данных, показанную ниже.

typedef struct
<
WORD BufferSize;
BYTE FAR * DataBuffer;
> IRQRoutingOptionsBuffer;

Где:
BufferSize:Размером в слово(Word) значение, обеспечивающие размер буфера данных. Если буфер будет слишком маленьким, то подпрограмма вернется со статусом BUFFER_TOO_SMALL, и эта переменная будет обновлена и возвращена с необходимым размером. Чтобы указать, что у данной системы управления PCI нет никаких устройств PCI, эта функция установит поле BufferSize в ноль. На успешном завершении эта область будет содержать размер (в байтах) данных которые будут преданны в результате. DataBuffer: дальний указатель на буфер, содержащий информацию маршрутизации прерывания PCI для всех устройств материнской платы и слотов.

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALGET_IRQ_ROUTING_OPTIONS=0Eh
BXДолжен быть установлен в ноль 0000h
DSСегмент или Селектор для данных BIOS.
Для 16-бит кода : сегмент для реального режима или PM селектор

должен ссылаться на физический адрес 0F0000h и иметь придел в 64K.
Для 32-бит кода смотри секцию 3.4.

BXБитовый массив IRQ, указывающий, какие IRQ исключительно предназначены для устройств PCI.
CFСтатус завершения, 1 = ошибка,
0 = успешно.

Установка аппаратного прерывания PCI

Описание:
Эта функция предназначена, чтобы использоваться в масштабе конфигурации всей системы или OS PNP. Эта функция никогда не должна вызываться драйверами устройства или кодом ROM расширения.

Логические входные параметры:

Эта подпрограмма заставляет указанное аппаратное прерывание (IRQ) быть связанным с указанным контактом прерывания устройства PCI. Это достигается благодаря ниже следующим предположениям:

должен ссылаться на физический адрес 0F0000h и иметь придел в 64K.
Для 32-бит кода смотри секцию 3.4.

EXIT:AHВозвращаемые коды:
SUCCESSFUL

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Доступ к конфигурационному пространству

Чтение байта(Byte) из конфигурационного пространства

Эта функция позволяет читать индивидуальные байты из конфигурационного пространства конкретных устройств:

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALREAD_CONFIG_BYTE=08h
BHномер шины (0..255)
BLНомер устройства в верхних 5 битах,
номер функции в нижних 3 битах.
DIНомер регистра (0. 255)
EXIT:
CLПрочитанный байт.
AHВозвращаемые коды:
SUCCESSFUL
CFСтатус завершения, 1 = ошибка,
0 = успешно.

Чтение слова(Word) из конфигурационного пространства

Эта функция позволяет читать индивидуальные слова из конфигурационного пространства конкретных устройств. Номера регистров в параметрах должны быть кратны двум (т.е. нулевой бит должен быть установлен в 0). :

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Чтение двойного слова(DWord) из конфигурационного пространства

Эта функция позволяет читать индивидуальные двойные слова из конфигурационного пространства конкретных устройств. Номер регистров в параметрах должны быть кратными четырем (т.е. бит 0 и бит 1 должен быть установлены в 0). :

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Запись байта(Byte) в конфигурационное пространство

Эта функция позволяет записать индивидуальные байты в конфигурационное пространство конкретных устройств:

ENTRY:
AHPCI_FUNCTION_ID=0B1h
ALWRITE_CONFIG_BYTE=0Bh
BHномер шины (0..255)
BLНомер устройства в верхних 5 битах,
номер функции в нижних 3 битах.
DIНомер регистра (0. 255)
CLБайт для записи.
EXIT:
AHВозвращаемые коды:
SUCCESSFUL
CFСтатус завершения, 1 = ошибка,
0 = успешно.

Запись слова(Word) в конфигурационное пространство

Эта функция позволяет записать индивидуальные слова в конфигурационное пространство конкретных устройств. Номер регистра в параметрах должен быть кратным двум (т.е. нулевой бит должен быть установлен в 0). :

CFСтатус завершения, 1 = ошибка,
0 = успешно.

Запись двойного слова(DWord) в конфигурационное пространство

Эта функция позволяет записать индивидуальные двойные слова в конфигурационное пространство конкретных устройств. Номер регистра в параметрах должен быть кратным четырем (т.е. бит 0 и бит 1 должен быть установлен в 0). :

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *