HeadlinesBriefing favicon HeadlinesBriefing.com

デバイスドライバーラボ COSC562 - PCI と VirtIO ガイド

Hacker News •
×

デバイスドライバーラボ COSC562 - Stephen Marz

このラボは PCIVirtIO デバイスドライバをカバーしています。メインのデバイスバスは PCI で、設定とアクセスに強化された構成アクセス機構 (ECAM) を使用します。PCI-X は並列アーキテクチャを使用するオリジナル PCI の拡張機能であり、PCI Express (PCIe)はシリアル、ポイントツーポイント アーキテクチャを使用します。

ECAM の物理アドレスは ACPI から MCFG テーブル経由で取得し、開始と終了バス番号を提供します。PCI アドレスはバス、デバイス、機能、レジスタのコンポーネントで構成されています。各デバイスは 65,536 バイトの ECAM スペースを持ち、各バスは 1,048,576 バイトを持ちます。

このラボでは、PCI から VirtIO へのハンドオフを通じてデバイスを初期化し、その後 VirtIO を下位デバイスに行います。すべてのデバイスをグローバルカーネルデータデバイスレジストリの下に登録し、ヒープ割り当て用の alloc ライブラリを使用します。重要なセクションには PCI アドレス構造、ECAM 構造、機能、MSI-X 機能、および VirtIO 初期化が含まれます。

主要エンティティ:人:Stephen Marz