PCIアクセス制御サービス(ACS)を無効にする

PCIアクセス制御サービス(ACS)を無効にする

パーソナライズされたPCIeビデオエンコーダベンダーは、カードドライバが正しく機能するために、コンピュータでアクセス制御サービス(ACS)を無効にする必要があると述べました。

彼らは何をすべきか言っていませんでした。

この文書はNVIDIA GPUに関するものです。そのコマンドを使用しているが、setpciNVIDIAを使用せずにマザーボードが異なるため、デバイスアドレスが異なる(おそらく)。

例えば、

setpci -s 02:01.0 f2a.w=0000何もしないでください...

編集2 たとえば、

# setpci -v -s 02:04.0 220.w
0000:02:04.0 @220 = 000d
# setpci -v -s 02:04.0 220.w=0000
0000:02:04.0 @220 0000
# setpci -v -s 02:04.0 220.w
0000:02:04.0 @220 = 000d

私のマザーボードで実際のPCIブリッジのレジスタアドレスをどのように見つけますか?

(トリムされた)出力lspci -vvvは次のとおりです。

編集する

申し訳ありません。オペレーティングシステム情報を忘れました。

32ビットCentos6、カーネル 4.4.127-1.el6.elrepo.i686 #1 SMP Sun Apr 8 09:44:43 EDT 2018 i686 i686 i386 GNU/Linux

00:1c.0 PCI bridge: Intel Corporation Device a114 (rev f1) (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [140 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd- EgressCtrl- DirectTrans-
        ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
    Kernel driver in use: pcieport


00:1c.5 PCI bridge: Intel Corporation Device a115 (rev f1) (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [140 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd- EgressCtrl- DirectTrans-
        ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-

02:01.0 PCI bridge: Pericom Semiconductor Device b608 (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [220 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl+ DirectTrans+
        ACSCtl: SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-

02:02.0 PCI bridge: Pericom Semiconductor Device b608 (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [220 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl+ DirectTrans+
        ACSCtl: SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-

02:03.0 PCI bridge: Pericom Semiconductor Device b608 (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [220 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl+ DirectTrans+
        ACSCtl: SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-

02:04.0 PCI bridge: Pericom Semiconductor Device b608 (prog-if 00 [Normal decode])
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Capabilities: [220 v1] Access Control Services
        ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl+ DirectTrans+
        ACSCtl: SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-

ベストアンサー1

試してみて、出力が改善されていることを確認しますか?

setpci -v -s 02:04.0 ecap_acs+6.w
setpci -v -s 02:04.0 ecap_acs+6.w=0
setpci -v -s 02:04.0 ecap_acs+6.w

編集1setpci コマンドがACS拡張に送信されます。いいえ右のオフセットに従います(6)のためのACS制御レジスタ

編集2:方法が気になる場合 PCI設定 ユーティリティはPCI Expressの機能と拡張機能を処理しており、特定のハードウェアポートまたはデバイスへのアクセスの問題を解決しています...もう一つの興味深い視点は、オプションを追加することです -G 。これは通常それほど効率的ではありませんが、ここに示すように、プロセス全体のビューを提供します。能力そして拡張リストを繰り返します。たとえば、ルートポートの場合 -

user@host:~$ sudo setpci -G -v -s 00:01.1 ecap_acs+6.w
Trying method linux-sysfs......using /sys/bus/pci...OK
Decided to use linux-sysfs
0000:00:01.1 0000:00:01.1: Found capability 0001 of type 1 at 0050
0000:00:01.1: Found capability 0010 of type 1 at 0058
0000:00:01.1: Found capability 0005 of type 1 at 00a0
0000:00:01.1: Found capability 000d of type 1 at 00c0
0000:00:01.1: Found capability 0008 of type 1 at 00c8
0000:00:01.1: Found capability 0001 of type 1 at 0050
0000:00:01.1: Found capability 0010 of type 1 at 0058
0000:00:01.1: Found capability 0005 of type 1 at 00a0
0000:00:01.1: Found capability 000d of type 1 at 00c0
0000:00:01.1: Found capability 0008 of type 1 at 00c8
0000:00:01.1: Found capability 000b of type 2 at 0100
0000:00:01.1: Found capability 0001 of type 2 at 0150
0000:00:01.1: Found capability 0019 of type 2 at 0270
0000:00:01.1: Found capability 000d of type 2 at 02a0
0000:00:01.1: Found capability 001e of type 2 at 0370
0000:00:01.1: Found capability 001d of type 2 at 0380
0000:00:01.1: Found capability 0025 of type 2 at 0400
0000:00:01.1: Found capability 0026 of type 2 at 0410
0000:00:01.1: Found capability 0027 of type 2 at 0440
(ecap 000d @2a0) @2a6 = 0000

おすすめ記事