В целом да, но количество предварительной подготовки (необходимости патчить linux) зависит от конкретной СнК.
В случае Hifive Unmatched, где подсистема памяти хоть и медленная, зато когерентная, т.е. не требуется вызывать cache_flush() перед и после DMA-операций периферии и выделять пулы под DMA, карточка Radeon просто заработала с ванильным ядром, и OpenGL-демки в Qt запустились в Wayland.
А итоговая оценка в терминах Perfect, Pass, Fail уже выводится.
Вижу, что есть официальная сборка pciutils под винду от мейнтейнера пакета. Под рукой нашлась win10, бегло посмотрел: на этом конкретном ПК простого запуска из-под администратора недостаточно, пришлось перебирать методы доступа к регистрам конфигурационного пространства (ключом -A), единственным потенциально рабочим выглядит windbg, но для этого нужно до-установить что-то. Позже, во второй заход, погляжу ещё раз. Ну и нужно будет добавить поддержку этого ключа в pcilmr, по аналогии с lspci и setpci, тогда будет работать в точности как в Linux и BSD.
С самого начала решили что инструмент будем публиковать как Open Source, потому LMT оставался как дополнительный источник информации. Но смотреть начинали, столкнулись с ярким колоритом, ЕВПОЧЯ :)
В то же время pciutils написан на C, имеет минимум зависимостей, легко доступен в пакетных менеджерах многих дистрибутивов Linux, BSD и даже OpenEmbedded.
Про 8GT/s, он же Gen3: если нет под рукой особенных утилит и отладчиков от производителя (Intel в некоторых случаях позволяет построить глаз для Gen3), но поддерживается AER, то, например, можно пустить нагрузку и следить за счётчиками, не набегают ли слишком быстро.
Наличие ошибок покажут "плюсы" в UESta и CESta (uncorrectable errors, correctable errors) в функциональности AER в lspci, а счётичики ведёт драйвер в /sys/bus/pci/devices/XXXX:XX:XX.X/aer_*
Это могут быть чипсет и внутренняя периферия вроде встроенной графики, которые хоть и видятся системой как отдельные PCIe-устройства, но находятся на одном чипе с процессором. Потому функциональность LM только для соблюдения стандарта.
Из "ноутбучного" железа NVMe обычно соглашается по-настоящему промаржиниться.
В целом да, но количество предварительной подготовки (необходимости патчить linux) зависит от конкретной СнК.
В случае Hifive Unmatched, где подсистема памяти хоть и медленная, зато когерентная, т.е. не требуется вызывать
cache_flush()
перед и после DMA-операций периферии и выделять пулы под DMA, карточка Radeon просто заработала с ванильным ядром, и OpenGL-демки в Qt запустились в Wayland.Но вот если на руках что-то более замысловатое, то могут понадобиться "приседания", про них даже был доклад полгода назад: https://www.youtube.com/watch?v=fbjjwkb_dfY
А итоговая оценка в терминах Perfect, Pass, Fail уже выводится.
Вижу, что есть официальная сборка pciutils под винду от мейнтейнера пакета. Под рукой нашлась win10, бегло посмотрел: на этом конкретном ПК простого запуска из-под администратора недостаточно, пришлось перебирать методы доступа к регистрам конфигурационного пространства (ключом
-A
), единственным потенциально рабочим выглядит windbg, но для этого нужно до-установить что-то. Позже, во второй заход, погляжу ещё раз. Ну и нужно будет добавить поддержку этого ключа в pcilmr, по аналогии с lspci и setpci, тогда будет работать в точности как в Linux и BSD.С самого начала решили что инструмент будем публиковать как Open Source, потому LMT оставался как дополнительный источник информации. Но смотреть начинали, столкнулись с ярким колоритом, ЕВПОЧЯ :)
В то же время pciutils написан на C, имеет минимум зависимостей, легко доступен в пакетных менеджерах многих дистрибутивов Linux, BSD и даже OpenEmbedded.
Про 8GT/s, он же Gen3: если нет под рукой особенных утилит и отладчиков от производителя (Intel в некоторых случаях позволяет построить глаз для Gen3), но поддерживается AER, то, например, можно пустить нагрузку и следить за счётчиками, не набегают ли слишком быстро.
Наличие ошибок покажут "плюсы" в UESta и CESta (uncorrectable errors, correctable errors) в функциональности AER в lspci, а счётичики ведёт драйвер в /sys/bus/pci/devices/XXXX:XX:XX.X/aer_*
Это могут быть чипсет и внутренняя периферия вроде встроенной графики, которые хоть и видятся системой как отдельные PCIe-устройства, но находятся на одном чипе с процессором. Потому функциональность LM только для соблюдения стандарта.
Из "ноутбучного" железа NVMe обычно соглашается по-настоящему промаржиниться.
В выводе lspci на экране можно в LnkSta разглядеть 2.5GT/s x4, это Gen1.