Week -2: Implement JMicron driver

Apr. 28th to May 1st

Day 1

Start to write JMicron Driver.

  • Helper functions
    • jme_reload_eeprom(): Which cause the MAC processor to place MAC Address to register.
    • j{read,write}32(): Register reading/writing wrapper.
  • Basic layout.
    • pci_probe:
      • private data allocation
      • Getting ioport
      • Interface registration
      • Initialize hardware
      • Reading MAC Address
    • pci_remove
      • Interface un-registration
      • Free private data
      • Reset hardware
Day 2
  • Implement link status check routines.
    • ifstat can show correct cable link status.
  • It'll freeze if IRQ generated on native driver.
  • netdev→link_rc was initiallized in:
    • alloc_etherdev() → alloc_netdev() → netdev→link_rc = -EUNKNOWN_LINK_STATUS;
Day 3
  • Implement receive functions
  • Fount out that we have very small memory poll(128K). Due to receive buffer allocation error. The original design tried to allocate 1024*MTU received buffers.
Day 4
  • Implement transmit functions
  • netdev_tx_complete{_err}() called free_iob(). So we shouldn't do free_iob() both on successfully transmited or failed to deliver.

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2010:cooldavid:journal:weekb2 (generated for current page)