Driver development question

Marc Loerner marc.loerner at hob.de
Tue Jul 21 06:53:01 UTC 2009


Am Dienstag 21 Juli 2009 00:38:56 schrieb Sam Leffler:
> John Baldwin wrote:
> > On Friday 17 July 2009 11:10:17 am Chris Harrer wrote:
> >> Hi All,
> >>
> >> I'm hoping someone can point me in the right direction...  I'm
> >> developing a FreeBSD driver for a PCIe card.  The driver controls a
> >> hardware device that has DRAM and various state information on it.  I'm
> >> trying to mimic functionality I have for other OS support such that I
> >> can dump memory and state information from the card to a file I create
> >> from within my driver (kernel module).
> >>
> >> For example, in a Linux driver I use filp_open to create the dump file
> >> (represented by fp), then use fp->f_op->write to put information into
> >> the file.
> >>
> >> FreeBSD doesn't have filp_* API's.  I've tried searching for example
> >> drivers and googling for file API's from kernel modules to no avail. 
> >> Can someone please offer some guidance as to how I might proceed here?
> >>
> >> Thanks in advance and any insight would be most appreciated!
> >
> > You can look at sys/kern/kern_ktrace.c to see how the ktrace() system
> > call creates a file.  I think in general you will wind up using
> > NDINIT/namei() (to lookup the vnode for a pathname) and then vn_open() /
> > vn_rdwr() / vn_close().
>
> man alq(9).
>
> 	

Why not use kern_open, kern_close, kern_preadv, kern_pwritev?

Regards,
Marc


More information about the freebsd-drivers mailing list