LINUX.ORG.RU

IOMMU новости про проброс железа на AMD Ryzen/AM4

 , , , ,


1

4

Судя по всему, по крайней мере на чипсетах 350/370 (единственные доступные на данный момент для Ryzen) прийдется использовать ACS-патч, от использования которого пользователи AMD были освобождены до сего времени.

YouTube: Ryzen: PCIe Passthrough Working, But...*

https://level1techs.com/video/ryzen-iommu-pcie-passthrough-works

Я так подозреваю что эта штука сильно зависит от реализации на конкретной мамке. У меня, например, на sabertooth r2, не удавалось пробросить дискретную звуковуху в гостя, без отвала от хоста части устройств.

daemonpnz ★★★★★
()

А как вытащить на экран такой красивый список устройств по их принадлежности к IOMMU-группам?

anonymous
()
Ответ на: комментарий от daemonpnz

Ну вот на всех конкретных (350 и 370, 320-й мало кому интересен, т.к. нет K/OC) мамках, на данный момент, это так, группы сплющены, посмотрим, что будет дальше.

Bruce_Lee ★★
() автор топика
Ответ на: комментарий от anonymous

А как вытащить на экран такой красивый список устройств по их принадлежности к IOMMU-группам?

Я смотрю вот так:

ls -l /sys/kernel/iommu_groups/*/*/*

Список не то, чтобы красивый, но точный и информативный.

Bruce_Lee ★★
() автор топика

прийдется использовать ACS-патч, от использования которого пользователи AMD были освобождены до сего времени.

Чак Норрис это проверил и одобрил?

andrew667 ★★★★★
()
Ответ на: комментарий от andrew667

Приколись, Чаку Норрису 10 числа исполнилось 77 лет, это уже довольно старый возраст.

Bruce_Lee ★★
() автор топика
Ответ на: комментарий от targitaj

можно суть в двух словах?

В IOMMU есть ACS (Access Control Services) - фитча для безопасности: девайсы разделены по группам и девайс из одной группы находясь в виртуалке не сможет сделать DMA запрос к железу из другой группы которое например может использоваться хостом.

Естественно ядро предполагает, что данная фитча поддерживается и разрешает пробрасывать в виртуалку только группы целиком. У интела ACS на консюмерском железе может и вообще не работает, а может просто все девайсы подключенные к PCIe попадают в одну группу. У AMD на FX все работало как надо, а вот на Ryzen судя по всему ещё хуже чем у интела: подключенные девайсы попадают в группу вместе с рутовыми портами и прочим фаршем.

Патч же просто делает вид, что ACS есть и раскидывает девайсы по разным группам, хотя на деле любой злонамеренный девайс или драйвер все ещё может лезть к другим девайсам из группы по DMA. Никаких нестабильностей работы патч не вызывает.

o-
()
8 июня 2017 г.
Ответ на: комментарий от anonymous

вот таким однострочником можно внедрять номер IOMMU группы в вывод lspci

for dp in $(find /sys/kernel/iommu_groups/*/devices/*); do ploc=$(basename $dp | sed 's/0000://'); igrp=$(echo $dp | awk -F/ '{print $5}'); dinfo=$(lspci -nn | grep -E "^$ploc"); echo "[IOMMU $igrp] $dinfo" ; done

источник

poedyatel
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.