問題タブ [pci-bus]

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.

0 投票する
0 に答える
302 参照

c - デバイスの電源がオフになっていても、カーネル ドライバーの PCI エラー ハンドラーが呼び出されない

カスタム PCIe デバイス用の Linux カーネル デバイス ドライバーを作成しています。ユーザー空間アプリケーションはこのデバイスにマップされ、頻繁にそのメモリにアクセスします (読み取りと書き込み)。PCIe デバイスは、ランタイム中にオフになる可能性がある外部電源によって駆動されます。

デバイスがリセットされるたびに、ユーザー アプリケーションのすべてのメモリ読み取りが返され0xFFFFFFFFます。カーネルドライバにデバイスのリセットをいち早く検知したいので、https://www.kernel.org/doc/html/latest/PCI/pci-error-recovery.htmlerror_detectedに合わせてコールバック関数を実装しました。

ただし、mydevice_error_detectedデバイスのリセット中に呼び出されることはありません。これは、ユーザー空間アプリケーションが継続的にデバイス メモリの読み取りに失敗し (結果として取得しよう0xFFFFFFFFとして) いる場合であってもです。

また、lspci電源がオフになっていても、PCI 再スキャン後にデバイスが一覧表示されます。

01:00.0 Unassigned class [ff00]: MyVendorId Device 5a00 (rev ff)

唯一の違いはrev ff、デバイスがオフ状態のときに行末に " " が発生することです。それ以外の場合lspciは戻ります

01:00.0 Unassigned class [ff00]: MyVendorId Device 5a00

リセット中は構成スペースにアクセスできないため、デバイスが完全にオフになっていると確信しています。デバイスへの最初のメモリ読み取り要求が失敗/タイムアウトするたびに、カーネルがエラー検出コールバックを呼び出すことを期待しています。私の仮定は正しいですか?

0 投票する
1 に答える
30 参照

pci - PCIe ローカル クロックの精度とは何を意味しますか?

物理層のロジック ブロックの受信側では、ローカル クロックの精度は +/- 300 ppm です。誰かこれについて詳しく説明してくれませんか?!