where are normal ioctl calls handled?
I have a problem concerning vxWorks 5.5 vs. vxWorks 6.x. for a CPU board
I use a self written Flash MTD driver which is registered under 5.5 with
rawFsDevCreate(). When I do ioctl() on the created "/flash_raw:0" I see
with debug prints that the ioctl function in my driver are called.
When I do the same in vxWorks 6.2 I have to use a xbdBlkDevCreate call
first, I can then read and write to my Flash, but my ioctl calls get
stuck somewhere in the xbd Layer or rawFs. I make
fd = open("/flash_raw:0", O_RDWR)
ret = ioctl(fd, <my code>, &arg)
in kernel space.
can somebody point me in the right direction ? I tried grepping in the
Re: where are normal ioctl calls handled?
In article <4426D442.email@example.com>
Thomas Sch. <firstname.lastname@example.org> wrote:
[ code that works in 5.5 ]
>When I do the same in vxWorks 6.2 I have to use a xbdBlkDevCreate call
>first, I can then read and write to my Flash, but my ioctl calls get
>stuck somewhere in the xbd Layer or rawFs. I make
>fd = open("/flash_raw:0", O_RDWR)
>ret = ioctl(fd, <my code>, &arg)
>in kernel space.
>can somebody point me in the right direction?[/color]
If the ioctl is not handled at a higher level (e.g., in rawFsIoctl,
assuming there is a rawfs on top of the XBD) the rawFsIoctl
function should pass it down to the driver after the usual
error = (xbdIoctl
(where xbdIoctl just maps the device_t and calls your driver).
Thus, aside from using the new XBD system, this should work the
same as in 5.5.
In-Real-Life: Chris Torek, Wind River Systems
Salt Lake City, UT, USA (40°39.22'N, 111°50.29'W) +1 801 277 2603
email: forget about it [url]http://web.torek.net/torek/index.html[/url]
Reading email is like searching for food in the garbage, thanks to spammers.