問題タブ [pci]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux-kernel - VMK API (ネイティブ) 2.2.0 を使用して PCI デバイスを取得するにはどうすればよいですか?
すべての PCI デバイスのリストにアクセスしようとしています。
VMK API (ネイティブ) で代替機能を探す:
ありがとう、
アレックス
linux-device-driver - Linux PCI ドライバー - pci_enable_device が失敗する
私は linux/kernels/drivers にかなり慣れていません。組み込み Linux (3.2.17) で PCI カード用のドライバーを作成しています。
私が直面している問題は、私のプローブ機能でresult = pci_enable_device(dev)
、次のエラーで失敗することです
これがなぜなのか、それをデバッグする方法がわかりません。
他に掲載すべき情報を教えてください。
編集:
lspci -v
これを返した
dmesgでこれを見つけました
問題のデバイスは 0000:02 です
c - ドライバを使用したPCIExpress検証
PCに接続されたPCIExpressデバイスのテストにWindriverJungoを使用しています。8/16/32/64ビットモードでメモリの読み取り/書き込みが可能で、ボードの応答は非常に良好です。しかし、私の疑問は、PCI Expressの仕様によれば、128バイトから4096バイトまでのTLPパケットを送信できるということです。ドライバーを使用してこの転送を実現するにはどうすればよいですか。現在、8バイト(64ビットモード)のデータのみを転送します。送信するデータを増やすと、データが8バイトのパケットに分割されて送信されます。私の疑問を解消し、WindowsまたはLinuxでのPCIExpressの他のドライバーオプションを提案してください。
linux-kernel - LinuxPCIデバイスドライバー-バスv。カーネルIRQ
LinuxでPCIeカード用のデバイスドライバーを書いています。ドライバーで割り込みを使用しようとしています。
PCIコンフィギュレーションレジスタ(オフセット0x3C)の「IRQライン」セクションを読み取ると、デバイスに割り当てられたIRQラインが11であることが報告されます。lspci -b -vv
また、私のデバイスの割り込み番号は11であると報告しています。
ここで奇妙になります...cat /sys/bus/pci/devices/<my_device>/irq
割り込み番号が19であると報告します。lspci -vv
また、割り込み番号が19であることを報告します。
私のドライバーで11を要求しても機能しません。ドライバーで19を要求すると、割り込みをうまくキャッチできます。
何が得られますか?
ありがとう!!!
hardware - ユーザー空間の PCI BAR アクセスがすべてのオフセットで 0xFF を返す
ユーザー空間から PCIe SATA ブリッジの PCI BAR (#5) にアクセスしようとしていますが、をmmap()
介して BAR からアクセスする/sys/bus/pci/devices/.../resource5
と、ファイル内のすべてのオフセットで 0xFF が返されます。Intel SATA コントローラなどの他のデバイスは、適切なデータで応答します。
BAR はlspci -vv
Intel コントローラと同じように表示されます (アドレスのみが異なります)。
両方のデバイスはahci
ドライバーによって一致しており、SATA コントローラーは別の方法で動作します - 接続されたディスクにアクセスできます。
今のところ実験的にレジスタを突っ込みたいだけなので、ユーザー空間からアクセスしようとしています。これを行うために、気になるレジスターにアクセスするように変更されたpcimemの変更された形式を使用しています。ただし、任意のオフセットは 0xFF を返すため、単純な pcimem を使用した場合でも:
0xFFFFFFFF を返します (「w」は「ワード」読み取りを示し、したがって 4 バイトです)。
他のデバイスがアクセス可能であるのに、このデバイスの BAR5 へのアクセスを妨げているのは何ですか? この種のユーザー空間から PCI BAR にアクセスすることは理にかなっていますか?
assembly - EAXの最高の16ビット
PCIアドレスを作成したい。アセンブリ言語で16ビットをEAXに(AXではなく)書き込むにはどうすればよいですか?例:0b1000000000000001と書く
ありがとう!
assembly - アセンブリ言語でのPCIデバイスチェック
私は単純なプログラムを持っていて、それを読まなければなりませんPCI configuration space
(最初のPCIデバイスのためだけに)。しかし、それは機能しません。YASM:
コードは次のとおりです。
ありがとう。
PS私はエミュレーションにBochsを使用し、アセンブラーとしてYASMを使用しています
drivers - VxWorks PCI ドライバー - コンパイル エラー
VXworks で PCI デバイス ドライバを作成しようとしています。pciConfigLib のソース ファイルが配置されていても、コンパイル後に「未定義の関数参照」というエラーがスローされます。
どんな助けでも大歓迎です。
ありがとうVxNewbee
c++ - WMI (Windows Management Instrumentation) で特定のデバイスが使用するメモリ範囲を取得する方法
特定のデバイスが使用するリソース (特にメモリ範囲) を特定のデバイスの名前および/または DeviceID および/または PCI バス番号、デバイス番号および機能番号を知っている状態で取得するにはどうすればよいですか? たとえば、Intel AHCI コントローラーが使用するメモリ範囲を知りたいとします。「SELECT * FROM Win32_IDEController WHERE Name LIKE\"%ahci%\"」というクエリを使用すると、完全な名前、デバイス ID、およびその他の情報などの情報を取得できます。次に、完全な名前またはデバイス ID を使用して、クラス「Win32_DeviceMemoryAddress」を使用してデバイスが使用するメモリ範囲を選択できると考えました。ただし、このクラスには、AHCI コントローラーに関連付けられたメモリ範囲を取得するために設定できる有用な属性がありません。名前、キャプション、および説明はすべて、開始アドレスと終了アドレスを含む文字列を返します。
前もって感謝します。
vb.net - VB.net 経由で VGA バス タイプを取得します。
VB.net 経由で VGA バス タイプ (AGP、PCI、PCI-e...) を取得するにはどうすればよいですか?
これは、コンピューター内のビデオカードを返します: SELECT Name, PNPDeviceID FROM Win32_VideoController
これらのビデオ カードからバス タイプを取得して、PCI、PCI-e、または AGP をコンピュータに接続するにはどうすればよいですか?