NIC(ネットワークインターフェイスカード)MMIO領域の使用について混乱しています。例えばNIC MMIOリージョンとは何ですか?
、これは私のコンピュータ上のNICの情報
03:02.1 Ethernet controller: Intel Corporation 82546EB Gigabit Ethernet Controller (Copper) (rev 03)
Subsystem: Intel Corporation PRO/1000 MT Dual Port Server Adapter
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 64 (63750ns min), Cache Line Size: 64 bytes
Interrupt: pin B routed to IRQ 19
Region 0: Memory at e1b00000 (64-bit, non-prefetchable) [size=128K]
Region 2: Memory at e1a40000 (64-bit, non-prefetchable) [size=256K]
Region 4: I/O ports at 2000 [size=64]
Expansion ROM at e1a00000 [disabled] [size=256K]
Capabilities: <access denied>
Kernel driver in use: e1000
Kernel modules: e1000
である私はそれが2つのMMIO領域を持っていることがわかります。
最初は、これらの2つの領域がパケットの送受信に使用されていると思います.1つはRXバッファ、もう1つはTXバッファですが、何らかのテストをした後、私は間違っていたと思います。
実際、これらのMMIO領域はどのように使用されていますか? TXバッファとRXバッファがない場合、これらのバッファはどこにありますか?
ありがとうございました。
どのようにこれらの領域が使用されているかテストしましたか? –
ハイパーバイザーを使用して、CPUコアがこれらのMMIO領域にアクセスするのを無効にします。それでもパケットの送受信はできますが、その後NICを無効にして再度有効にしようとすると、コンピュータがハングアップします。 –