Title: Broken mmap in current?

I have written a character device driver for a proprietary PCI device that has a large sum of mapable memory.  The character device supports mmap() which I use to export the memory into a user process.  I have no problems accessing the memory on this device, but I notice that my mmap routine is called for every access!  Is this a problem with current, or a problem with my mmap?

I use bus_alloc_resource and then rman_get_start to get the physical address in my attach, and then the mmap just returns atop(physical address).  I assumed this is correct since I have verified with a logical analyzer that I am indeed writing to the memory on the device.  Also, I noticed that the device's mmap interface does not provide any way to limit the size of the block being mapped?  Can I specify the length of the region?


Reply via email to