This shows you the differences between two versions of the page.
so2:teme:tema6 [2018/05/20 07:59] daniel.baluta |
so2:teme:tema6 [2019/05/22 21:08] (current) daniel.baluta [e100 - driver de rețea] |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== e100 - driver de rețea ==== | ===== e100 - driver de rețea ==== | ||
- | * Termen de predare: **Miercuri, 23 Mai 2018, ora 23:00 ** \\ | + | * Termen de predare: <tema nu intra in lista oficiala de teme pentru 2019> |
===== Scopul temei ===== | ===== Scopul temei ===== | ||
Line 16: | Line 16: | ||
Nu va trebui să ciți în întregime documentul de mai sus, ci doar secțiunile indicate în enunț. | Nu va trebui să ciți în întregime documentul de mai sus, ci doar secțiunile indicate în enunț. | ||
- | <note important>Puteți porni implementarea de la zero sau folosi scheletul de cod generat: LABS=assignments/6-e100 make skels </note> | + | <note important>Puteți porni implementarea de la zero sau folosi scheletul de cod generat: |
+ | $ LABS=assignments/6-e100 make skels | ||
+ | </note> | ||
==== Precizări ==== | ==== Precizări ==== | ||
Line 43: | Line 45: | ||
Urmăriți comentariile marcate cu TODO 2: | Urmăriți comentariile marcate cu TODO 2: | ||
- | * inițializați device-ul PCI folosind funcția ''pci_device_enable'' (activeaza I/O și memoria și trezește device-ul dacă era suspendat) | + | * inițializați device-ul PCI folosind funcția ''pci_enable_device'' (activeaza I/O și memoria și trezește device-ul dacă era suspendat) |
* rezervați zonele de memorie si I/O pentru device-ul PCI folosind funcția pci_request_regions | * rezervați zonele de memorie si I/O pentru device-ul PCI folosind funcția pci_request_regions | ||
* device-ul e100 suporta urmatoarele zone (chapter 4.1.10) | * device-ul e100 suporta urmatoarele zone (chapter 4.1.10) | ||
Line 53: | Line 55: | ||
==== e100 private data ==== | ==== e100 private data ==== | ||
- | Structura ''e100_priv_data'' va contine informatii specifice fiecarui device de retea gestionat de driver. În primul rând va conține informații despre pci_dev și netdevice-ul curent, apoi informatii de stare, registre, unitatea de transmisie, unitatea de recepție, etc. Spațiul de memorie pentru ''e100_priv_data'' se va aloca în funcția ''alloc_etherdev'' urmăriți capitolul [[so2:teme:tema6#structura_net_device]]. | + | Structura ''e100_priv_data'' va contine informatii specifice fiecarui device de retea gestionat de driver. În primul rând va conține informații despre pci_dev și netdevice-ul curent, apoi informatii de stare, registre, unitatea de transmisie, unitatea de recepție, etc. Spațiul de memorie pentru ''e100_priv_data'' se va aloca în funcția ''alloc_etherdev'' urmăriți sectiunea [[so2:teme:tema6#structura_net_device]]. |