Halo,
Apakah diantara rekan2 ada yang mengetahui arsitektur/cara Network
card offload DMA?
Saya sudah berhasil membuat kernel driver untuk transfer dari main
memory ke PCI memory memakai DMA main processor. Nah untuk network
card, NIC ini mempunyai DMA controller sendiri. Berarti operasinya
Dian,
Kamu menggunakan freescale kan? Freescale punya DMA master yang
seharusnya bisa authenticate dengan DMA slave di NIC.
DMA master dari freescale akan memberikan daftar physical memory
yang bisa diakses oleh DMA slave. Apabila NIC menerima data di ring
buffer-nya, dia akan mengirimnya
Thanks pak Eko atas tanggapannya.
Ring buffer nya itu ada dimana pak? Saya baca2 di google kok ring
buffer itu adalah main memory . Juga saya baca di hardware manual
MPC8349 juga tidak disebutkan adanya buffer di sisi NIC. Saya
membandingkan dengan grafik card yang mempunyai memory sendiri, apa
Ring buffer / buffer descriptor, merupakan kumpulan descriptor yang menentukan
di mana NIC akan menulis ke memory apabila ada data yang diterima.
Yang perlu diingat, memory yang digunakan untuk DMA adalah physical memory,
bukan virtual/logical. Biasanya, karena saya sendiri yang kontrol
alokasi
semakin jelas pak sekarang
untuk mengawasi status buffer descriptor (BD) ini biasanya dilakukan
software yang secara terus menerus mengecek status BD atau ada semacam
hardware callback/interrupt pak?
Untuk bootloader saya memakai uBoot, nanti bisa saya re-compile untuk
mengakomodasi non
Harus ada interrupt. Biasanya untuk ethernet, interrupt ini biasanya
diproses cepat,
kemudian invoke soft-interrupt/tasklet.
Di freescale, kalau tidak salah ada flag di BAR register untuk
enable/disable cache-nya.
Good luck.
KOkon.
2009/7/10 dian sastro maeje...@gmail.com:
semakin jelas pak