Re: [Etherboot-developers] Descriptor alignment question
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2003-03-08 00:38:01
|
ke...@us... (Ken Yap) writes: > >I have not looked at the sundance driver in a bit, but I seem to be > >still wondering why it is so slow. I was never sure whether the > >descriptor was properly aligned. > > I think your alignment looks ok. Note: Etherboot currently cannot promise more than 16 byte alignment. This needs to be documented somewhere. I'm not certain it ever did promise more but with the code living in a fixed location it was not a big deal. Once -DRELOCATION can be made unconditional we may be able to do better but not right now. > Usually it will not work if misaligned. > What I suspect is that the method for determining if a packet is > available is not reliable. There should be a bit that indicates there > is something in the receive buffer. If necessary you may have to look at > a different register, maybe RxStatus. This is the main difference > between interrupt and polled operation. That sounds like a good diagnosis. Note in interrupt mode it is still a good idea to check to see if a packet has received an interrupt. You may be sharing an interrupt with another device, an interrupt can in before the last one was serviced, or there may be some kind of interrupt mitigation strategy in place. So a robust driver using interrupts will also check the polling bits. Eric |