Messages in this thread |  | | Date | Sun, 1 Sep 96 11:48:27 IST | From | (Rajiv K Singh) | Subject | Kernel 2.0.x dev drv help.... |
| |
Hi all, I wish to look for solutions to a few problems that I face while writing device drivers for my Data Acquisition System. I have a working device driver already that handles the interrupts to receive a block of data by simple __inb instructions. It sustains a few MB/s comfortably but the choking point is that the device driver receives only 1KB transfer requests 16 times from kernel when the user attempts to read 16KB from the device file. The device file is char unbuffered file. Can one do something such that the kernel passes the requests for larger chunks to device driver? Another problem is the one which is well discussed on linux-net but I do not know what the solution is. Earlier while loading the device driver into the kernel (1.3.20) one used receive a message that the version on symbols of 1.3.20 do not match with that of device driver, effectively. Then we used to rebuild the kernel without the version tag on symbols. But with 2.0.0 this method does not work. First of all why shouldn't they# match if they have been recompiled with the installed kernel. Also, one receives an error while insmod the device driver - gcc2_compiled undefined. Yes, it is gcc compiled and therefore, at best, this should be defined. How to get around this problem? I understand that the largest chunk of buffer that one can kmalloc is 128KB-32bytes or so. Is there a way around to have larger buffers or is there any limit on how many such buffers one can allocate? Is it possible to pass the address of a shared memory region that can be locked in the memory (Solaris provides) and the device driver directly writes into this region? Please allow me to query as to why the gcc allocates different memory addresses for a shared mem region to two different programs one linked with -lm and another without it. Thanks a lot! Rajiv
P.S. This is my third attempt to post this mail to the list. I do not get any returned mail and it does not appear on the list!!
|  |