Driver development question

Sam Leffler sam at errno.com
Mon Jul 20 23:17:58 UTC 2009


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).

	Sam



More information about the freebsd-drivers mailing list