Hi,
Thanks for that suggestions. I changed my character
driver a little bit to take care of the more than 4K
IOCTLs. My firmware download needs more than 4K size
of IOCTL since i have to download a file of around
1MB.
Regards
Nandan
--- Mike Smith <[EMAIL PROTECTED]> wrote:
> > [moved to -hackers; this is an in-depth technical
> question]
> >
> > On Friday, 9 June 2000 at 0:28:04 -0700,
> NandaKumar P.K. wrote:
> > > Hi,
> > >
> > > I am in the process of debugging my character
> driver
> > > interface to the RAID controller card. Lots of
> my
> > > IOCTLs i sent from the user code works with the
> driver
> > > but some IOCTLs are not reaching the driver. I
> found
> > > that one of the IOCTL that failed is having a
> size of
> > > data as 8096 bytes. Does FreeBSD has got any
> size
> > > restriction in IOCTL data size ? I know that
> there is
> > > no problem with Linux and Windows NT.
> >
> > Indeed, you're limited to 4096 bytes. From
> sys/ioccom.h:
> >
> > #define IOCPARM_MASK 0x1fff /* parameter length,
> at most 13 bits */
> > #define IOCPARM_MAX PAGE_SIZE /* max size of
> ioctl, mult. of PAGE_SIZE */
> >
> > >From sys/param.h:
> >
> > #define PAGE_SHIFT 12 /* LOG2(PAGE_SIZE) */
> > #define PAGE_SIZE (1<<PAGE_SHIFT) /* bytes/page */
> >
> > Even that is probably too big. What are you
> trying to transfer that's
> > so big?
>
> NB. if you want to move more than 4k, you should
> pass a pointer to the
> buffer in userspace and use copyin/copyout.
>
> --
> \\ Give a man a fish, and you feed him for a day. \\
> Mike Smith
> \\ Tell him he should learn how to fish himself, \\
> [EMAIL PROTECTED]
> \\ and he'll hate you for a lifetime. \\
> [EMAIL PROTECTED]
>
>
__________________________________________________
Do You Yahoo!?
Send instant messages with Yahoo! Messenger.
http://im.yahoo.com/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message