Как сообщается об ошибках pcie для корневого комплекса? - PullRequest
0 голосов
/ 19 октября 2018

Допустим, в устройстве pci express реализована возможность AER для надежного сообщения об ошибках.Поэтому, когда такая ошибка перехватывается устройством, оно соответствующим образом заполняет свой регистр AER.Как эта ошибка будет сообщена корневому комплексу?Я читал в спецификации, что такие ошибки будут сообщаться через «сообщение TLP».Означает ли это «сообщение TLP», что MSI будет запущен для отправки индикации в корневой комплекс?Также используется ли тот же механизм для записи других / не AER ошибок?

1 Ответ

0 голосов
/ 19 октября 2018

Ошибки PCI-Express сообщаются с определенным типом TLP (Transaction Layer Packet), который называется Message Request (сокращенно Msg).Msg - это своего рода TLP общего назначения, который используется для нескольких целей (сигнализация прерывания совместимости PCI, управление питанием, сигнализация горячей замены и т. Д., В дополнение к сигнализации об ошибках) и отличается от других типов TLP (запрос чтения из памяти,Запрос на запись в память, завершение, чтение / запись конфигурации и т. Д.).

Сообщение об ошибке MLP TLP - это сообщение от устройства, которое обнаружило ошибку, указывающее класс обнаруженной ошибки и на каком устройстве это было.обнаружено.Существует несколько различных способов, которыми Msg TLP-маршрутизация может быть указана отправляющим устройством.Одним из таких способов является «Маршрут к корневому комплексу», который направляет любой промежуточный компонент, такой как коммутатор (мост), для пересылки TLP вверх по потоку к корневому комплексу.Сведения об ошибках записываются в возможности AER конкретного устройства (если оно реализует одно - большинство устройств PCI-E делают), а затем сообщение Msg, сигнализирующее об ошибке, отправляется в восходящий поток в корневой комплекс.

Один раз в корнеСложно, есть два способа сообщить об ошибке платформе.

  1. Это может быть сообщено как «системная ошибка» (это механизм, совместимый с PCI и PCI-X), если оно включено в регистр управления корневыми функциями корневого комплекса в PCI Express Capability.Что именно делается с системной ошибкой, зависит от платформы.На типичных компьютерах с архитектурой x86 неисправимая ошибка приводит к исключению проверки компьютера.(Часто на материнской плате есть механизм для записи того, что произошло в журнале событий, который впоследствии может быть доступен для программного обеспечения. См. Также эту ссылку для получения дополнительной информации: https://askubuntu.com/a/608156/470836)
  2. Корневой комплекс также может генерирует прерывание через MSI, если оно включено в регистр корневых команд корневого комплекса (часть возможности AER root). Я не думаю, что это часто используется.

Нетдействительно другой класс ошибок, которые являются «ошибками, не относящимися к AER». Однако устройству не нужно реализовывать возможность AER. В этом случае «устройства, которые не поддерживают функцию расширенной отчетности об ошибках, регистрируют только регистр состояния устройства».биты, указывающие, что была обнаружена ошибка. "Таким образом, детали ошибки будут потеряны.

...