реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> PCIe Hot-Plug, Что за зверь и как с ним бороться?
Bios71
сообщение Aug 14 2018, 07:21
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



Что за зверь и как с ним бороться?

Hot-Plug когда собственно "работать" должен? В БИОСе/UEFI-Shell? В DOS? В Win/Linux?
В Win/Linux любом или только "серверном" варианте?
В Win/Linux нужны ли "особые" драйвера, которые "оживляють" эту волшебную функциональность?

Местами/временами упоминаются какието "защелки" держащие PCIe-плату и сигнализирующие микровыключателем, что "плата внутри".
А если сервер есть, но на слоте нет той "защёлки", и нет той "микрокнопки", а ХотПлаговость тем не менее "заявлена" в описании на PCIe-слот?

Видимо у всех все работает из коробки, и потому никто не утруждается описывать процесс "от и до".
Ищу тех кто трогал PCIe-Hot-Plug своими руками


--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post
krux
сообщение Aug 14 2018, 13:31
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



весь PCIe хотплаг по идеологии представляет из себя
1) в железе - кнопку "хочу вынуть эту плату", цепи, обеспечивающие детектирования физического наличия в слоте, ключи на материнке, осуществляющие подачу питания на плату. вся эта радость по идеологии заведена на GPIO южного моста/чип компаньона
2) в BIOS реализованы соответствующие алгоритмы, рулящие процессом через GPIO, и отдающие соответствующие события в ACPI-таблицы.
3) операционка определяет хотплаг-события по наличию изменений в ACPI-таблицах, и предпринимает соответствующие действия по энумерации устройств, назначению BAR и подсовыванию драйвера. Плюс обратный процесс отрубания без вываливания в BSOD/Kernel panic.

http://www.ti.com/lit/ds/symlink/tps2363.pdf
вот вам пример типового hotplug-контроллера, который на материнке вешается на SMbus.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Bios71
сообщение Aug 16 2018, 12:55
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



Cпасибо за информацию.
Действительно забыл про ACPI таблицы.

Сходил к своим IT-шникам, они про это только в журналах читали, и то в лучшем случае про горячюю замену SATA дисков.

Беда в том что
Цитата
в железе - кнопку "хочу вынуть эту плату", цепи, обеспечивающие детектирования физического наличия в слоте, ключи на материнке, осуществляющие подачу питания на плату. вся эта радость по идеологии заведена на GPIO южного моста/чип компаньона


стандарт позволяет как с кнопкой так и без, как с лампочками так и без. Но минимум GPIO всетаки действительно нужен.
В нашем биосе планируется GPIO эхспандер на PCA9535, через I2C, и с прерыванием от него.

Цитата
в BIOS реализованы соответствующие алгоритмы, рулящие процессом через GPIO,

Тут все еще интереснее, у АМД последних серий, БИОС только готовит "таблицы" и "скармитвает" их ядрам микроконтроллеров(SMU/MP1).
А вот код для тех микроконтроллеров(внутри ядер) PSP/MP0, SMI/MP1, идет бинарником и творит чтото своё "универсальное" , без кнопок/лампочек.
Обыкновенная Вин10, после "скармливания" биосом таблиц для SMU, бодренько опознала все описанные слоты как HotPlug и "весело" с ними работает.
Вставишь карту, менеджер устройств находит новое устройство. Вынешь - исчезает.
Но это пока совсем не то что надо. Остается не определенной последовательность подачи напряжения в слот. А сгоревшие катры нам не к чему. Нужны кнопки, тайминги подачи напряжений, лампочки, и т.п.

Цитата
и отдающие соответствующие события в ACPI-таблицы.

а вот в этом надо покопаться, давно не дебажил ACPI, надо вспомнить навыки.


Еще раз спасибо за отклик.

Сообщение отредактировал Bios71 - Aug 16 2018, 13:45


--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post
krux
сообщение Aug 16 2018, 17:14
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



тут весь вопрос может быть в другом.
в спецификации PCIe есть такая штука как native hotplug.
и я полагаю, что его сузили до рамок "пропал линк" - "ну ок, значит из слота плату вынули".
и в связи с этим, имхо, опытом не подтверженное имхо, сейчас весь интерлокинг в виде "нажатие кнопки" - "мигание лампочками" - "обесточивание платы ключами" - "механическая защелка" - "ручка" возможно производить независимо от BIOS или OC.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Bios71
сообщение Aug 17 2018, 06:16
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



Вот нашел видео где ХотПлаг работает как у меня.
Вставил карту - оборудование нашлось. Вынул - пропало.

https://www.youtube.com/watch?v=YigN2mkQMPc



--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post
Bios71
сообщение Aug 22 2018, 05:56
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



Цитата(krux @ Aug 16 2018, 20:14) *
тут весь вопрос может быть в другом.
в спецификации PCIe есть такая штука как native hotplug.
и я полагаю, что его сузили до рамок "пропал линк" - "ну ок, значит из слота плату вынули".
и в связи с этим, имхо, опытом не подтверженное имхо, сейчас весь интерлокинг в виде "нажатие кнопки" - "мигание лампочками" - "обесточивание платы ключами" - "механическая защелка" - "ручка" возможно производить независимо от BIOS или OC.


Да, зоопарк страшный.
Тот же АМД вводит/использует следующие понятия
- Simple Presence Detect, минимальная GPIO поддержка, реакция только на "present", дабы снять питание из опустевшего внезапно слота
(наиболее энергосберегающий вариант), требует Runtime поддержки от биоса для коммуникации с/через ACPI таблицы/методы
- PCIe модуль А , применяемый на оригинальных АМД платформах
- PCIe модуль B , индустриальный формат, отличается от А GPIO распиновкой ехпандера
- HotplugBasic
- native
- HotplugEnhanced, "всегда включено и всегда в поиске", при установке/удалении устройства на него реагирует сам P2P мост,
генеря прерывание для ОС не требует поддержки БИОСа, но наиболее энергозатратный (питание всегда подано в слот)
- HotplugServer , хаха ... серверный вариант! догадываемся кто и что под этим подразумевает. biggrin.gif

А PCIe спецификация одарила понятием
- HotPlug-Surprise поддерживающий "ВНЕЗАПНОЕ" Hot-insertion/removal (под линуксом выдающий ТОЛЬКО сигнал DEV_REMOVAL)
- HotPlug-Non-Surprise (Managed HotPlug) т.е. с предупреждением "СЕЙЧАС БУДЕТ ЗАЙЧИК" (под линуксом выдающий сигнал и DEV_SHUTDOWN и DEV_REMOVAL)


А ACPI таблицы у меня хранят гробовое молчание, т.е. кода для поддержки HotPlug там вагон и маленькая тележка, но он не кем ни когда не вызывается.
Все идет через внутренюю CPU/SMU/M1 кухню. Видимо в режиме HotplugEnhanced

Сообщение отредактировал Bios71 - Aug 22 2018, 12:39


--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post
Bios71
сообщение Aug 28 2018, 09:07
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 21-02-08
Из: Мюнхен
Пользователь №: 35 249



полезная ссылка

PCI EXPRESS BASE SPECIFICATION, REV. 3.0 str 514 6.7. PCI Express Hot-Plug Support


--------------------
я не волшебник, я только учусь ...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 08:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01433 секунд с 7
ELECTRONIX ©2004-2016