• Жильцов Дмитрий Андреевич's avatar
    Intel e1000 and virtio-net drivers
    · 33d93bb7
    The Temple spoke only AMD PCnet.  Now it also speaks Intel 82540EM, the
    e1000 every hypervisor pretends to have, and virtio-net, the card that
    admits it is not a card.  MakeNet takes the first one it finds.
    
    Intel.  The company with a second computer inside yours that the CIA
    would love to talk to.  We wrote them a driver.  virtio is worse, the
    hypervisor reads every byte by design.  One card was a sin, three is a
    habit.  Terry, forgive us.
    
    virtio uses the legacy I/O port interface.  No MSI-X, no capability
    lists, no MMIO.  Ports are honest, like on the C64.
    
    Neither card is allowed to interrupt.  The rings are swept from the
    timer, same as PCnet was all along, although nobody wrote that down.
    Now it is written down.
    
    Tested in QEMU on all three: DHCP, Confessional and Wget.
    NIC=e1000 tools/run_mac.sh to pick your sin.
    33d93bb7