Hallo Ingo, Am 22.06.2010 16:03, schrieb Ingo Weinhold:
There are a few drivers for hardware that supports 64 bit addresses (like HDA, AHCI, some network drivers),
What is the "usual criterium" that hardware supports 64 bits addressing? The size of corresponding registers?
I wasn't quite sure what to do what to do with several drivers for USB devices (usb_serial, usb_audio, etc.). They allocate memory with B_CONTIGUOUS -- usually a sign for memory for DMA -- but the physical addresses are never retrieved as far as I have seen. I might have overlooked something, though.
Frankly speaking this part of usb_serial was just reverse-engineered from the Dano usb_acm so I never thought why it is done in this way. :-\ May be it was related to some restrictions from old BeOS USB support implementation? Regarding usb_audio - isn't it that buffers returned to Media Server during answer on B_MULTI_GET_BUFFERS ioctl must be physically contiguous? In case this is not required - can I jsut allocate those buffers by call of malloc and throw away all this area-related stuff in my implementation of usb_audio?
--- Kind Regards, S.Zharski