Accessing file from drivers (fwd)

Wolfgang Denk wd at denx.de
Sat Mar 17 02:06:12 EST 2001


Dear Soumya,

in message <3AB1A57E.669B3166 at tejasnetworks.com> you wrote:
>
>      The exact problem that we're trying to solve, is to program an FPGA with a hex file
> which is in our file system.  But the problem is general is to have a way to write  a

I thought it was something like that. The conventional way  to  solve
this  is  implementing  an  ioctl() call for this function, and use a
user-space program to select the file and feed it into the driver.

> system  call  say 'sys_copy'  which will copy one file to another.  An user-mode
> application would read from one file and write back to another, which would result in
> copying  the data from the file driver ( kernel space ) to the user-space,  and again
> back to the kernel space.  We were curious as to whether a way existed by which we can
> do the read and write, sitting in the kernel space itself.  Of course adding our own

Why do you want to do that? Is this such atime-critical operation? Of
course it's possible to implement such a function, but I'm  not  sure
if it really makes sense.

> ioctl to the drivers will serve the purpose,  but we were looking for some way in which
> we would NOT need to modify the existing file system drivers.  I was wondering if it

Ummm... I don't understand this sentence. Adding an ioctl() for  YOUR
OWN  driver  to  accept  a  buffer with FPGA image date and load that
image into the FLGA does not mean you have to modify  anything  else.
You just have to write a small user application which opens the file,
reads or mmap()s it, and calls that ioctl().

> would be possible to bypass the read/write call themselves, but hack our way into the
> buffer caches of block drivers, to do this ?   Anyone tried something similar ?

Possible? Sure it's possible. But there is some effort involved,  and
your  resulting  solution  is  probably very restricted to a specific
setup. What do you want to save that you are willing to  pay  such  a
price for?

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
I have the simplest tastes.  I am always satisfied with the best.
                                                       -- Oscar Wilde

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/






More information about the Linuxppc-dev mailing list