DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5929
|
Posted: Fri Jul 19, 2024 11:52 am Post subject: acs patch not splitting dev to dedicated group |
|
|
Greetings,
I have the following iommu grouping:
Code: | IOMMU Group 0 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:5912] (rev 04)
IOMMU Group 1 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:591f] (rev 05)
IOMMU Group 2 00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 05)
IOMMU Group 2 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
IOMMU Group 3 00:14.0 USB controller [0c03]: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f] (rev 31)
IOMMU Group 3 00:14.2 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131] (rev 31)
IOMMU Group 4 00:16.0 Communication controller [0780]: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a] (rev 31)
IOMMU Group 5 00:17.0 SATA controller [0106]: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] [8086:a102] (rev 31)
IOMMU Group 6 00:1b.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #19 [8086:a169] (rev f1)
IOMMU Group 7 00:1b.3 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #20 [8086:a16a] (rev f1)
IOMMU Group 8 00:1c.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 [8086:a112] (rev f1)
IOMMU Group 9 00:1c.4 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 [8086:a114] (rev f1)
IOMMU Group 10 00:1d.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 [8086:a118] (rev f1)
IOMMU Group 11 00:1f.0 ISA bridge [0601]: Intel Corporation H170 Chipset LPC/eSPI Controller [8086:a144] (rev 31)
IOMMU Group 11 00:1f.2 Memory controller [0580]: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121] (rev 31)
IOMMU Group 11 00:1f.3 Audio device [0403]: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller [8086:a170] (rev 31)
IOMMU Group 11 00:1f.4 SMBus [0c05]: Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123] (rev 31)
IOMMU Group 12 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8] (rev 31)
IOMMU Group 13 02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
IOMMU Group 14 03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
IOMMU Group 15 05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
|
I want to detach 00:1f.3 from group 10 to a dedicated one,
so I've applied the acs patch and configured this in the kernel cmd line: intel_iommu=on iommu=pt pcie_acs_override=id:8086:a170
I've rebuilt the kernel and booted it up, I see this in dmesg:
Code: | $ dmesg | grep -iE "dmar|acs"
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.1.41-gentoo root=PARTUUID=ca1acc44-3464-427d-b8e4-db91d5727902 ro rootwait intel_iommu=on iommu=pt pcie_acs_override=id:8086:a170 kvm.nx_huge_pages=off screen_options: video=efifb:off,vesafb:off,simplefb=off
[ 0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[ 0.001060] ACPI: FACS 0x0000000047F99F80 000040
[ 0.001091] ACPI: DMAR 0x0000000047F59740 0000A8 (v01 INTEL SKL 00000001 INTL 00000001)
[ 0.001096] ACPI: Reserving FACS table memory at [mem 0x47f99f80-0x47f99fbf]
[ 0.001105] ACPI: Reserving DMAR table memory at [mem 0x47f59740-0x47f597e7]
[ 0.040064] Kernel command line: BOOT_IMAGE=/vmlinuz-6.1.41-gentoo root=PARTUUID=ca1acc44-3464-427d-b8e4-db91d5727902 ro rootwait intel_iommu=on iommu=pt pcie_acs_override=id:8086:a170 kvm.nx_huge_pages=off screen_options: video=efifb:off,vesafb:off,simplefb=off
[ 0.040086] DMAR: IOMMU enabled
[ 0.097537] DMAR: Host address width 39
[ 0.097539] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.097554] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.097557] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.097560] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.097563] DMAR: RMRR base: 0x00000047528000 end: 0x00000047547fff
[ 0.097565] DMAR: RMRR base: 0x00000048800000 end: 0x00000088ffffff
[ 0.097567] DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x0000000048800000-0x0000000088ffffff], contact BIOS vendor for fixes
[ 0.097570] DMAR: [Firmware Bug]: Your BIOS is broken; bad RMRR [0x0000000048800000-0x0000000088ffffff]
[ 0.097575] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.097577] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.099085] DMAR-IR: Enabled IRQ remapping in xapic mode
[ 0.203430] pci 0000:00:1b.0: Intel SPT PCH root port ACS workaround enabled
[ 0.203821] pci 0000:00:1b.3: Intel SPT PCH root port ACS workaround enabled
[ 0.204236] pci 0000:00:1c.0: Intel SPT PCH root port ACS workaround enabled
[ 0.204628] pci 0000:00:1c.4: Intel SPT PCH root port ACS workaround enabled
[ 0.205027] pci 0000:00:1d.0: Intel SPT PCH root port ACS workaround enabled
[ 0.255599] DMAR: No ATSR found
[ 0.255609] DMAR: No SATC found
[ 0.255612] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.255613] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.255616] DMAR: IOMMU feature nwfs inconsistent
[ 0.255618] DMAR: IOMMU feature pasid inconsistent
[ 0.255620] DMAR: IOMMU feature eafs inconsistent
[ 0.255622] DMAR: IOMMU feature prs inconsistent
[ 0.255624] DMAR: IOMMU feature nest inconsistent
[ 0.255626] DMAR: IOMMU feature mts inconsistent
[ 0.255628] DMAR: IOMMU feature sc_support inconsistent
[ 0.255630] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.255632] DMAR: dmar0: Using Queued invalidation
[ 0.255637] DMAR: dmar1: Using Queued invalidation
[ 0.256598] DMAR: Intel(R) Virtualization Technology for Directed I/O
[ 14.944059] pcieport 0000:00:1b.0: Intel SPT PCH root port ACS workaround enabled
[ 14.957299] pcieport 0000:00:1b.3: Intel SPT PCH root port ACS workaround enabled
[ 14.970618] pcieport 0000:00:1c.4: Intel SPT PCH root port ACS workaround enabled
[ 16.901863] DMAR: DRHD: handling fault status reg 3
[ 16.901875] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x49000000 [fault reason 0x06] PTE Read access is not set
[ 16.901881] DMAR: DRHD: handling fault status reg 3
[ 16.901883] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x4903a000 [fault reason 0x0c] non-zero reserved fields in PTE
[ 16.901886] DMAR: DRHD: handling fault status reg 3
[ 16.901887] DMAR: [DMA Read NO_PASID] Request device [00:02.0] fault addr 0x490a4000 [fault reason 0x06] PTE Read access is not set
[ 16.902514] DMAR: DRHD: handling fault status reg 3
[ 17.763976] pcieport 0000:00:1b.3: Intel SPT PCH root port ACS workaround enabled
[ 17.776120] pcieport 0000:00:1b.0: Intel SPT PCH root port ACS workaround enabled
[ 17.787299] pcieport 0000:00:1c.4: Intel SPT PCH root port ACS workaround enabled
[ 19.379528] pcieport 0000:00:1b.3: Intel SPT PCH root port ACS workaround enabled
[ 19.559483] pcieport 0000:00:1b.0: Intel SPT PCH root port ACS workaround enabled
[ 19.729551] pcieport 0000:00:1c.4: Intel SPT PCH root port ACS workaround enabled |
but the grouping is the same, what am I doing wrong? _________________ Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein |
|