]>
Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: E1000 NIC driver (Intel 82540EM)
- include/e1000.h: register defines, TX/RX descriptor structs, public API
- src/drivers/e1000.c: full E1000 driver implementation
PCI BAR0 MMIO mapping (128KB at 0xC0230000), bus mastering enabled
EEPROM MAC address read, TX/RX descriptor ring setup (32 entries each)
DMA buffer allocation, legacy TX descriptors, interrupt handler
e1000_send/e1000_recv/e1000_get_mac/e1000_link_up API
- src/arch/x86/arch_platform.c: IOAPIC route IRQ 11 -> vector 43
- src/kernel/init.c: call e1000_init() after pci_init()
- Tested: MAC 52:54:00:12:34:56, IRQ=11, 19/19 smoke tests pass