log on adding drvs on rcore - oscourse-tsinghua/rcore_plus GitHub Wiki
plan
- long term: more safety/modular/virtual drv framework and drvs support virt/phy HWs.
- middle term: USB/BLOCK/GPU ...drvs
- shot term: real NIC driver(82599), virt NIC E1000
2019.03.18
2019.03.16
- cjj: with help of Yisong, Wang, fixed the problem in ixgbe driver.
2019.03.14
- cjj: ixgbe basic network is partially working.
2019.03.13
- cjj: got machine up and running with pci passthru to qemu. tip: use
ethtool -d iface.
2019.02.26
- cjj: early e1000 net driver implementation (recv and send both working)
2019.02.25
- cjj: probe pci device with mmio address
- zqy: running ixy.c in kvm with pass-through 82599NIC
2019.02.22
- zqy: ixy.c, ixy.rs could run on x86-64.
- cy: read info about user mode/level interrupt, vfio, iommu...
2019.02.21
- cy: read 2018-ixy-rust/c.pdf. read code.
2019.02.20
before 2019.01.19
- cjj: added virtio gpu/block/net... drvs in rcore
reference
NIC datasheet
- 82599 datasheet
- init device: section 4.6.3
- initialize link (auto negotiation): section 4.6.4
- statistical counters: section 4.6.5
- init rx: section 4.6.7
- init tx: section 4.6.8
PCI_Express/APIC/IOAPIC
device pass-through