Implement NE2000 ISA Ethernet NIC driver (AI)
Add a driver for NE2000-compatible ISA Ethernet cards based on the DP8390 controller. Features: - PROM-based MAC address detection and validation - Programmed I/O (PIO) remote DMA for data transfers - Ring buffer management for RX with wrap-around handling - IRQ 9-driven packet reception and transmission - Synchronous TX with timeout - Character device registration as 'eth' class (/dev/ethN) Probe verifies card presence by resetting the controller, configuring it for PROM reading, and checking the MAC is not all-0xFF/all-0x00 (which would indicate no hardware at the I/O base). NE2000 memory layout (16 KiB on-card RAM): - Pages 0x40-0x45: TX buffer (1536 bytes, 1 MTU frame) - Pages 0x46-0x7F: RX ring buffer (~14.5 KiB) Tested with QEMU: `-device ne2k_isa,iobase=0x300,irq=9` correctly detects the card and registers /dev/eth1. Without the NIC option, probe correctly reports 'not found'.
This commit is contained in: