diff --git a/plugins/dynamix/SysDevs.page b/plugins/dynamix/SysDevs.page index 289e0c5a6..5442c8c2d 100644 --- a/plugins/dynamix/SysDevs.page +++ b/plugins/dynamix/SysDevs.page @@ -13,26 +13,19 @@ Title="System Devices" * all copies or substantial portions of the Software. */ ?> -**PCI Devices** +**PCI Devices and IOMMU Groups** -> This displays the output of the `lspci` command. The numeric identifiers are used to configure PCI pass-through. - -
=shell_exec("lspci -nn")?>
-
-**IOMMU Groups**
-
-> This displays a list of IOMMU groups available on your system.
+> This displays a list of IOMMU groups available on your system along with the output of the `lspci` command for each IOMMU group. The numeric identifiers are used to configure PCI pass-through.
Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices. To see natural IOMMU groups for your hardware, go to the VM Settings page and set the PCIe ACS Override setting to No.
- $iommu_groups = shell_exec("find /sys/kernel/iommu_groups/ -type l");
+ $iommu_groups = shell_exec('for iommu_group in $(ls /sys/kernel/iommu_groups/ -1 | sort -n);do echo "IOMMU group $iommu_group"; for device in $(ls -1 "/sys/kernel/iommu_groups/$iommu_group"/devices/); do echo -n $\'\t\';lspci -nns "$device"; done; done');
if (empty($iommu_groups)) {
- echo 'No IOMMU Groups';
- } else {
- echo $iommu_groups;
+ $iommu_groups = shell_exec("lspci -nn");
}
+ echo $iommu_groups;
?>
**CPU Thread Pairings**
@@ -45,7 +38,7 @@ Title="System Devices"
> This displays the output of the `lsusb` command. The numeric identifiers are used to configure PCI pass-through.
-=shell_exec("lsusb")?>
+=shell_exec("lsusb | sort")?>
**SCSI Devices**