Pcie ari support что это в биосе
Перейти к содержимому

Pcie ari support что это в биосе

  • автор:

PCIe ARI Support — что это в биосе?

  • Описание
  • Включать?
  • Заключение

Приветствую уважаемые друзья. Данная заметка опишет функцию, которую может содержать BIOS материнской платы разных производителей (Asus, Gigabyte, ASRock, MSI и другие компании).

PCIe ARI Support — что это в биосе?

Информация в интернете по поводу данной опции — почти отсутствует, однако удалось немного найти инфы.

Коротко ответ: позволяет изменить представление устройства PCI-E для операционной системы — вместо одного физического может быть представлено до 256 виртуальных, каждое из которых например программой виртуализации будет восприниматься как полноценное физическое устройство.

Скажу сразу: обычным пользователям данная настройка вряд ли будет полезна, а вот сетевым администраторам — вполне возможно.

Данная настройка активирует технологию ARI (Alternate Routing ID Interpretation), представляющую из себя альтернативное определение айди оборудования. Производится изменение идентификатора таким образом, что одно физическое устройство может быть поделено на 256 копий, каждая копия будет рассматриваться софтом виртуализации, например VMware Workstation, VirtualBox как полноценное физическое оборудование.

Опция BIOS материнкой платы ASRock Taichi:

Включать или нет?

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

Заключение

  • PCIe ARI Support — изменяет представление оборудования PCI-E операционкой, активация позволит вместо одного реального устройства получить до 256 виртуальных, каждое из которых может использоваться приложением виртуализации как физическое устройство.

PCIe ARI

Параметр, включающий функцию ARI (Alternate Routing ID Interpretation — альтернативная интерпретация идентификатора оборудования). Когда параметр включен, функция меняет значение 16-битного идентификатора оборудования на шине PCIe, а именно, меняет значение младших 8-ми битов. Вместо 5-битного поля «номер устройства» и 3-битного — «функция», номер устройства считается равным нулю, а номер функции занимает все 8 битов. Это позволит логически поделить, например, сетевую карту, на 256 виртуальных сетевых карт, которыми смогут пользоваться виртуальные машины. Причем для каждой гостевой операционной системы виртуальных машин такая сетевая карта будет представляться как полноценное физическое устройство.

Возможные варианты значений:
Disable — функция отключена
Enable — функция включена

1x PCIe чтобы управлять всем

Хорошая попытка была у Intel с их AMT на базе чипсета, который имеет доступ ко всем интерфейсам. Но завязка на встроенный GPU в процессор и остальные косяки, такие как закрытость решения и собственные костыли, пилящиеся, по ощущениям, по остаточному принципу убили хорошее начинание. Есть материнка — уже не дектоп, но еще не сервер от gigabyte, и на ней с AMT то тут, то там вылезают косяки. То расшаренный сетевой интерфейс тупит с руганью в dmesg, то рвется коннект к консоли в MeshCommander. Монтирование iso в принципе не работает — виртуальный DVD впадает в бесконечный цикл подключения и отключения USB-устройства.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Поэтому в серверных платформах на AMT забивают и лепят вендорский BMC.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё

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

Зачем нужен такой BMC, который работает только при работе PCIe, я затрудняюсь представить. Тогда уж проще удалённо админить средствами ОС.

Всего голосов 4: ↑4 и ↓0 +4
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Типичной случай, АМД сервер умирает ещё до запуска биоса. Внутри AMDшного PSP кода.

О каком PCIe тут можно говорить?

Всего голосов 3: ↑3 и ↓0 +3
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Так он и будет работать отдельно. Когда линк подымется, то будет взаимодействовать.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Какой тогда в нем смысл? Любая проблема на этапах BIOS/UEFI до инициализации PCIe становится не диагностируемой.

Всего голосов 3: ↑3 и ↓0 +3
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Смысл в том, и я видел это в железе, что прошивка BMC может участвовать в инициализации и управлении PCIe устройств.

Любая проблема вылезет до перезагрузки сервера, а значит с большой вероятностью попадет в SEL LOG BMC. А уж если PCIe init не прошел, то всегда можно это увидеть на экране через удаленное видео.

Всего голосов 1: ↑1 и ↓0 +1
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Каким образом BMC может участвовать в инициализации PCIe root root complex хоста?

BMC может (и должно) дергать линии типа Reset, Power Enable, идущие в сторону устройств, но вот как средство взаимодействия BMC и хоста (точнее даже, сервисного процессора хоста, как его не назови) PCIe, на мой взгляд, слишком сложно.

Что касается проблемы и SEL, то хост может и не загрузиться, банально битая планка памяти, и всё, до DXE фазы дело не дойдет. В классической схеме мы это увидим по пост коду (который будет очень очень простым и надежным образом получен по LPC, eSPI или от сервисного процессора по UART, например), а если у нас только PCIe, то как? До инициализации PCIe дело не дойдёт, у хоста памяти-то нету, только кэши.

Всего голосов 2: ↑2 и ↓0 +2
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Вероятно, я плохо артикулировал это в статье — но сокеты сервера — это устройства PCIe для BMC. Он их включает/выключает и общается с ними по PCIe, когда возможно.

Как устройство PCIe, сокет может инициализировать линк на этапе BOOT ROM, когда фирмварь даже не загружена. И т.к. на сокете реализованы несколько PCIe функций, то уже на этапе работы BOOT ROM BMC может следить за статусом загрузки, устанавливать различные параметры загрузки и, собственно, передавать по линку сам образ ПО, если флэш сервера еще ни разу не прошивали.

Мой опыт в работе с железом говорит, что инициализация PCIe на таких ранних этапах вполне возможна. Посмотрите к примеру, что творят NXP в их I.MX6/8 SoC.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

А кто реализует в таком случае распределение ресурсов на шине PCIe? Как я понял, вы предлагаете фактически либо двойную загрузку, поочерёдно BMC и BIOS, либо первоначальную загрузку целиком силами BMC. Но устройства-то сами согласятся ли быть слейвами у BMC?

Например, одним из устройств PCIe может быть какой-нибудь аппаратный модуль доверенной загрузки, который сам контролирует дальнейшую работу BOOT ROM в зависимости от различных условий. Это всё само по себе требует определённых танцев с бубнами вокруг настроек BIOS для своей работоспособности, а в случае, если этим будет заниматься BMC, это всё приведёт в лучшем случае к повисанию BMC в определённых ситуациях, а в худшем – к неработоспособности системы в принципе.

Всего голосов 1: ↑1 и ↓0 +1
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Что касается ресурсов PCIe, то речь в статье идет об отдельной иерархии management PCIe, где BMC является хостом, а серверные сокеты в ней — устройства. В этой иерархии рутовый комплекс находится в BMC и тот занимается инициализацией устройств на сокетах. Но речь, опять же, о тех IP внутри серверных SoC, которые находятся в домене platform management и не относятся к серверной функции. Т.е. те, что отвечают за коммуникацию информации между серверным сокетом и BMC.
За инициализацию устройств в иерархии PCIe сервера отвечает само ПО сервера.
Что касается загрузкт, то загрузка самого сервера начинается с инициализации SoC. Так например, при включении сокет проверяет бутстрап пины для определения конфигурации загрузки. В статье я предлагаю выбросить эти пины, заменив их IP блоком/PCIe функцией в домене platform management, которая бы захватывала загрузочную конфигурацию по шине (через виртуальные GPIO). А сама загрузка сервера вполне может происходить как обычно — с бут флэша. С т.з. серверного ПО все эти изменения будут видны лишь на самых ранних этапах, возможно до запуска BIOS. У BIOS остаются все те же функции и ответсвенность.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Какой сценарий предусмотрен на случай, если линк PCIе на стороне серверного процессора не поднимется?

то загрузка самого сервера начинается с инициализации SoC.

Поясните, пожалуйста, что вы имели ввиду?
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Если линк не поднимается, значит либо не работает «железо», или BOOT ROM не способно выполнить функцию по его инициализации. BMC будет считать, что SOC неисправен.
Инициализация SoC в данном случае — проведение «сброса» железа и этап работы BOOT ROM, до загрузки ПО из BOOT FLASH.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Если линк не поднимается, значит либо не работает «железо», или BOOT ROM не способно выполнить функцию по его инициализации. BMC будет считать, что SOC неисправен

И что делать дальше?
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

Как-минимум — отпрапортовать проблему.

Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий

отпрапортовать проблему

Замечательно…
А что делать со служебными сигналами: THERMTRIP_N, ERROR_N[2:0] и т.д.? Они про PCIe ничего не знают. Кроме того, состояние этих сигналов обрабатывают не только BMC.

SVM Mode

Назначение параметра: Параметр, включающий/выключающий виртуализацию на процессорах AMD. Виртуализация позволяет запускать эмулируемые (виртуальные) компьютеры с любыми операционными системы (гостевые ОС) на физическом компьютере. Технология SVM (Secure Virtual Machine), да и любая другая технология виртуализации на процессорах AMD или Intel, позволяет виртуальным компьютерам обращаться к ресурсам физического компьютера (хоста) напрямую. Этим самым ускоряется работа виртуальных машин.

Возможные варианты значений:
Disabled — виртуализация отключена.
Enabled — виртуализация включена.

Просмотров: 1823
Пожалуйста, поставьте оценку:
нет оценок

ВКонтакт Facebook Одноклассники Twitter Яндекс Livejournal Liveinternet Mail.Ru

КОММЕНТАРИИ к «SVM Mode»

Чтобы оставить комментарий, вам необходимо зарегистрироваться на сайте.

ДРУГИЕ МАТЕРИАЛЫ ПО ТЕМЕ

Проявления неисправностей, связанных с данным параметром (0)

Дата размещения
Название неисправности
Категория причин
Степень охвата

IT-WIKI (0)

Параметры BIOS (6)

Название (синонимы) параметра
Назначение параметра
Варианты значений параметра
Особенности значений параметров и их влияние на работу компьютера
Параметр, включающий/выключающий технологию виртуализации VT-D в процессорах Intel.
— Disabled
— Enabled

Проявление неисправностей: Включение данного параметра может вызвать ошибку в ядре операционной системы OS X, связанную с блоком AppleACPIPlatform.kext, который не поддерживает инструкции виртуализации VT-d.

— Virtual Machine Extensions

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

— Disabled
— Enabled

Описание значений параметров:

Disabled — использование инструкций отключено.
Enabled — использование инструкций включено.

Особенности:

Параметр можно активировать только при отключенной функции Intel TXT (Trusted Execution Technology).

Параметр, управляющий функцией SR-IOV (Single Root Input/Output Virtualization — однокорневая виртуализация ввода/вывода). SR-IOV — функция, обеспечивающая совместное использование виртуальными машинами одной физической шины PCIe и аппаратный контроль этого использования, что обеспечивает быструю скорость операций ввода/вывода, чем при программной виртуализации, обеспечиваемой одним лишь гипервизором.

— Disable
— Enable
— Per IIO Port

Описание значений параметров:

Disable — функция отключена
Enable — функция включена
Per IIO Port — SR-IOV включена для каждого порта индивидуально

Параметр, включающий функцию ARI (Alternate Routing ID Interpretation — альтернативная интерпретация идентификатора оборудования). Когда параметр включен, функция меняет значение 16-битного идентификатора оборудования на шине PCIe, а именно, меняет значение младших 8-ми битов. Вместо 5-битного поля «номер устройства» и 3-битного — «функция», номер устройства считается равным нулю, а номер функции занимает все 8 битов. Это позволит логически поделить, например, сетевую карту, на 256 виртуальных сетевых карт, которыми смогут пользоваться виртуальные машины. Причем для каждой гостевой операционной системы виртуальных машин такая сетевая карта будет представляться как полноценное физическое устройство.

— Disable
— Enable

Описание значений параметров:

Disable — функция отключена
Enable — функция включена

Параметр включающий/отключающий IOMMU — Input/Output Memory Management Unit — блок управления памятью для операций ввода/вывода.

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

— Disabled
— Enabled

Описание значений параметров:

Disabled — IOMMU отключен.
Enabled — IOMMU выключен.

— Virtualization
— Virtualization Technology
— Vanderpool Technology
— VT Technology
— AMD-V
— SVM
— VTx

Данный параметр позволяет включать/выключать аппаратную виртуализацию, которую поддерживает центральный процессор.

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

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

— Disabled
— Enabled

Описание значений параметров:

Disabled — Функция отключена. Могут быть проблемы с запуском виртуальных машин на VirtualBox и других программах виртуализации
Enabled — Функция включена.

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

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