Communication with PCIe device; reading/writing hw registers

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hi there,

I'm fairly new to driver development, but I am supposed to write a driver
for a device under windows, which does already have a driver for Linux.

In Linux it is done in such a way that all the device's registers are mapped
to a virtual filesystem, which can be accessed in user address space. This
allows to modify the registers quite simply.

As far as I know, IOCTLs are the preferred way to communicate between user
and kernel space. As far as I can foresee, the driver needs to run in KMDF.
But is there another way, possibly a more elegant way, to communicate between
user space and kernel space? In order to be able to communicate with hardware
device, I would assume to use quite a lot IOCTLs, which as I personally would
think, makes things quiet confusing and hard to keep track of. Therefore, my
question: is there another way to handle the device, for example to map a
handle from kernel space to user space, which will allow me to work with the
hardware device or something similar, what ever you can think of?

.



Relevant Pages

  • sparc ffb drm driver...
    ... This driver is broken and has been since my first CVS merge went in back ... there is no current user space to go with the kernel space driver (Mesa ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: few questions
    ... > i have been using Kylix RAD tool for some time on linux, ... > explanation of all the Linux API ... are talking user space, then I'd visit: ... in kernel space, I'd build the docs from the source tree, which should ...
    (comp.os.linux.development.apps)
  • Re: Interrupts in user space?
    ... > Can interrupts be received in user space? ... > kernel space that can receive the interrupts? ... can kernel space programs (device ... blocking operations in the driver, the user thread is dormant until ...
    (comp.os.linux.development.system)
  • Re: sparc ffb drm driver...
    ... > b) there is no current user space to go with the kernel space driver (Mesa ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • RE: Linux GPL and binary module exception clause?
    ... > So there is no analogy to the Linux case. ... > binary API exists, and the way normal drivers are distributed are as ... In either case the driver would not work "without the host OS". ... a non-trivial user space application very possibly ...
    (Linux-Kernel)