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

 
 
> Hot-Plug PCI Express
Zazazu
сообщение Jul 16 2012, 09:35
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 14-05-11
Пользователь №: 64 992



Добрый день!

На основной плате стоит свитч PCI Express PEX8509, который имеет 3 PCI Express c hot-plug. К этим PCI Express подключаются дополнительные модули в составе которых стоит тот же свитч PEX8509 и к нему подключены конечные устройства.

Если при постоянном чтении памяти или регистров любого из устройств на дополнительном модуле удалить модуль на ходу, то процессор зависает на операции чтения!

Ведь операция чтения должна завершится по тайм-ауту или abort? Почему зависает???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
krux
сообщение Jul 16 2012, 20:38
Сообщение #2


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

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



в PCI-Express нет TRDY# как сигнала. По сути там обратно ожидается приход MSI-пакета с окончанием транзакции. (даже в slave! но это замаскировано под legacy-слоем для обратной совместимости с софтом)
И обработка его ведётся драйвером устройства, т.е. всё зависит от того насколько качественно написан драйвер.
Во всяком случае, я подключал к свичу PLX8648 четыре двухпортовые сетевухи на чипах от intel, под linux, и дергал их на горячую.
всё работало без всяких зависаний.

Сообщение отредактировал krux - Jul 16 2012, 20:43


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:16
Рейтинг@Mail.ru


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