Hi,
It’s possible, WinDriver is a generic driver that implement generic PCI and
USB API exported it to user mode.
But i guess a few people here will explain you why it’s bad 
Best Regards,
Ilya Lifshits.
R&D
Jungo Ltd.
Email: xxxxx@jungo.com
Web: http://www.jungo.com
Phone: 1-877-514-0537(USA) +972-9-885-8611 (Worldwide) Ext. 117
Fax: 1-877-514-0538(USA) +972-9-885-0619 (Worldwide)
At 02:43 PM 12/2/2003 +0530, you wrote:
Hi all,
I have a question: -
all pci card devices have the same kind of hardware with a pci-to-local
bus bridge and other local devices mapped to the bridge…similarly for
the pcmcia, common memory windows…
-
when this is the situation, why do every one need to write a seperate
pci device driver for every card…what are the pros and cons of it…
-
if it is possible ,why wouldn’t have microsoft themselves would give it,
for example, a driver and a sample user mode application which can access
all the CS(chip select space) ie, BAR 0 to Bar 5, and a generic interrupt
handler in the user mode using the user mode event notifications,…
and give a user mode library just for the application developers to make
use of the card like how the plx sdk does…
the bottom line question is why a particular bus architecture based device
driver is not made generic…when wdm itself is made generic for any pnp
devices…
I would like to discuss and collect all ur view on this…
Thanx,
ShivaP
http:IMSTP.gif
>IncrediMail - Email has finally evolved -
>http:Click Here —
>You are currently subscribed to ntdev as: xxxxx@jungo.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com —
>You are currently subscribed to ntdev as: xxxxx@jungo.com
>To unsubscribe send a blank email to xxxxx@lists.osr.com
>THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE
>ADDRESSEE
>and may contain confidential and privileged information. If the reader of
>this message
>is not the intended recipient, you are notified that any dissemination,
>distribution
>or copy of this communication is strictly Prohibited.If you have received
>this message
>by error, please notify the sender immediately, return the original mail
>to the sender
>and delete the message from your system.</http:></http:>
> all pci card devices have the same kind of hardware with a pci-to-local
bus
bridge and other local devices mapped to the bridge…similarly for the
pcmcia, common memory windows…
this part of the interface is managed by the bus driver, and is usually
supplied by the OS itself
- when this is the situation, why do every one need to write a seperate
pci
device driver for every card…what are the pros and cons of it…
these drivers are called functional drivers. Bus driver *doesn’t know* the
functionality of the device. its job is to take care of the data trnsfer
between the functional driver and the hardware. Functional driver says how
the device is going to behave … ( Ex : configuration, error control. )
There are generic drivers that support USB/IEEE1394:
http://www.thesycon.de/usbio/eng/usbio.htm
http://www.thesycon.de/vhpd1394/eng/vhpd.htm
If you want your driver have export an API that is used by an application that you implement as well then using the generic drivers mentioned above will work perfectly for you. There are no drawbacks when compared with a specialized driver for your device. If you have to support existing software interfaces at the upper edge of your driver (for example NDIS, COM port) then you will need a specialized driver.
Note that these statements are true for USB and IEEE1394 devices. When using generic device drivers for PCI other issues have to be considered, especially interrupt latency, DPC latency, thread latency, CPU load, …
However, for most applications generic PCI drivers should work fine. In some cases (high performance, low latency requirements) a specialized driver will do a better job.
–
Udo Eberhardt
Thesycon GmbH, Germany
xxxxx@thesycon.de
www.thesycon.de
At 02:43 PM 12/2/2003 +0530, you wrote:
>Hi all,
>
>I have a question: -
>
>all pci card devices have the same kind of hardware with a pci-to-local
>bus bridge and other local devices mapped to the bridge…similarly for
>the pcmcia, common memory windows…
>
>1) when this is the situation, why do every one need to write a seperate
>pci device driver for every card…what are the pros and cons of it…
>
>2) if it is possible ,why wouldn’t have microsoft themselves
would give it,
>
>for example, a driver and a sample user mode application which
can access
>all the CS(chip select space) ie, BAR 0 to Bar 5, and a generic
interrupt
>handler in the user mode using the user mode event notifications,…
>
>and give a user mode library just for the application developers to make
>use of the card like how the plx sdk does…
>
>the bottom line question is why a particular bus architecture
based device
>driver is not made generic…when wdm itself is made generic for any pnp
>devices…
>
>I would like to discuss and collect all ur view on this…
>
>Thanx,
>
>ShivaP
>
>____________________________________________________
>http:IMSTP.gif
> >IncrediMail - Email has finally evolved -
> >http:Click Here —
> >You are currently subscribed to ntdev as: xxxxx@jungo.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com —
> >You are currently subscribed to ntdev as: xxxxx@jungo.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com
> >THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE
> >ADDRESSEE
> >and may contain confidential and privileged information. If the
> reader of
> >this message
> >is not the intended recipient, you are notified that any dissemination,
> >distribution
> >or copy of this communication is strictly Prohibited.If you have
> received
> >this message
> >by error, please notify the sender immediately, return the original mail
> >to the sender
> >and delete the message from your system.
></http:></http:>
imho generic drivers are ok for quick hardware validation, rapid prototyping
and laboratory automation.
But take into account that you are losing the features of asynchrone IO and
request queuing by usage of generic drivers. Additionally a kernel mode
driver provides system wide singleton behaviour of your device so that it
may be used from within several processes simply.
Furthermore there may be performance and security issues speaking for a
‘real’ driver.
At least: would you buy a sound card equipped with WinDriver? 
Regards,
Volker
----- Original Message -----
From: “Ilya Lifshits”
To: “NT Developers Interest List”
Sent: Wednesday, February 12, 2003 1:38 PM
Subject: [ntdev] Re: Why not Generic device drivers for pci, pcmcia, usb
> Hi,
>
> It’s possible, WinDriver is a generic driver that implement generic PCI
and
> USB API exported it to user mode.
> But i guess a few people here will explain you why it’s bad 
>
> Best Regards,
> Ilya Lifshits.
> ______________________________________
> R&D
> Jungo Ltd.
> Email: xxxxx@jungo.com
> Web: http://www.jungo.com
> Phone: 1-877-514-0537(USA) +972-9-885-8611 (Worldwide) Ext. 117
> Fax: 1-877-514-0538(USA) +972-9-885-0619 (Worldwide)
>
>
> At 02:43 PM 12/2/2003 +0530, you wrote:
> >Hi all,
> >
> >I have a question: -
> >
> >all pci card devices have the same kind of hardware with a pci-to-local
> >bus bridge and other local devices mapped to the bridge…similarly for
> >the pcmcia, common memory windows…
> >
> >1) when this is the situation, why do every one need to write a seperate
> >pci device driver for every card…what are the pros and cons of it…
> >
> >2) if it is possible ,why wouldn’t have microsoft themselves would give
it,
> >
> >for example, a driver and a sample user mode application which can access
> >all the CS(chip select space) ie, BAR 0 to Bar 5, and a generic interrupt
> >handler in the user mode using the user mode event notifications,…
> >
> >and give a user mode library just for the application developers to make
> >use of the card like how the plx sdk does…
> >
> >the bottom line question is why a particular bus architecture based
device
> >driver is not made generic…when wdm itself is made generic for any pnp
> >devices…
> >
> >I would like to discuss and collect all ur view on this…
> >
> >Thanx,
> >
> >ShivaP
> >
> >____________________________________________________
> >http:IMSTP.gif
> >IncrediMail - Email has finally evolved -
> >http:Click Here —
> >You are currently subscribed to ntdev as: xxxxx@jungo.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com —
> >You are currently subscribed to ntdev as: xxxxx@jungo.com
> >To unsubscribe send a blank email to xxxxx@lists.osr.com
> >THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE
> >ADDRESSEE
> >and may contain confidential and privileged information. If the reader of
> >this message
> >is not the intended recipient, you are notified that any dissemination,
> >distribution
> >or copy of this communication is strictly Prohibited.If you have received
> >this message
> >by error, please notify the sender immediately, return the original mail
> >to the sender
> >and delete the message from your system.
></http:></http:>
> imho generic drivers are ok for quick hardware validation, rapid
prototyping
and laboratory automation.
Maybe true for PCI, not true for USB and 1394.
But take into account that you are losing the features of
asynchrone IO and
request queuing by usage of generic drivers. Additionally a kernel mode
Not true for our USBIO and VHPD1394 generic drivers.
Furthermore there may be performance and security issues speaking for a
‘real’ driver.
Also not true for our USBIO and VHPD1394 generic drivers.
At least: would you buy a sound card equipped with WinDriver? 
Specialized drivers that have to fit into an existing driver architecture, e.g. network, sound card, sound/video capture etc., need a special implementation. Generic drivers are not well suited for such purposes. However, a generic driver source code template (partly available in the DDK) could be used to simplify implementation of such custom drivers.
–
Udo Eberhardt
Thesycon GmbH, Germany
xxxxx@thesycon.de
www.thesycon.de
Regards,
Volker
----- Original Message -----
From: “Ilya Lifshits”
> To: “NT Developers Interest List”
> Sent: Wednesday, February 12, 2003 1:38 PM
> Subject: [ntdev] Re: Why not Generic device drivers for pci, pcmcia, usb
>
>
> > Hi,
> >
> > It’s possible, WinDriver is a generic driver that implement generic PCI
> and
> > USB API exported it to user mode.
> > But i guess a few people here will explain you why it’s bad 
> >
> > Best Regards,
> > Ilya Lifshits.
> > ______________________________________
> > R&D
> > Jungo Ltd.
> > Email: xxxxx@jungo.com
> > Web: http://www.jungo.com
> > Phone: 1-877-514-0537(USA) +972-9-885-8611 (Worldwide) Ext. 117
> > Fax: 1-877-514-0538(USA) +972-9-885-0619 (Worldwide)
> >
> >
> > At 02:43 PM 12/2/2003 +0530, you wrote:
> > >Hi all,
> > >
> > >I have a question: -
> > >
> > >all pci card devices have the same kind of hardware with a pci-to-local
> > >bus bridge and other local devices mapped to the bridge…similarly for
> > >the pcmcia, common memory windows…
> > >
> > >1) when this is the situation, why do every one need to write
> a seperate
> > >pci device driver for every card…what are the pros and cons of it…
> > >
> > >2) if it is possible ,why wouldn’t have microsoft themselves would give
> it,
> > >
> > >for example, a driver and a sample user mode application which
> can access
> > >all the CS(chip select space) ie, BAR 0 to Bar 5, and a
> generic interrupt
> > >handler in the user mode using the user mode event notifications,…
> > >
> > >and give a user mode library just for the application
> developers to make
> > >use of the card like how the plx sdk does…
> > >
> > >the bottom line question is why a particular bus architecture based
> device
> > >driver is not made generic…when wdm itself is made generic for any pnp
> > >devices…
> > >
> > >I would like to discuss and collect all ur view on this…
> > >
> > >Thanx,
> > >
> > >ShivaP
> > >
> > >____________________________________________________
> > >http:IMSTP.gif
> > >IncrediMail - Email has finally evolved -
> > >http:Click Here —
> > >You are currently subscribed to ntdev as: xxxxx@jungo.com
> > >To unsubscribe send a blank email to
> xxxxx@lists.osr.com —
> > >You are currently subscribed to ntdev as: xxxxx@jungo.com
> > >To unsubscribe send a blank email to xxxxx@lists.osr.com
> > >THIS E-MAIL MESSAGE ALONG WITH ANY ATTACHMENTS IS INTENDED ONLY FOR THE
> > >ADDRESSEE
> > >and may contain confidential and privileged information. If
> the reader of
> > >this message
> > >is not the intended recipient, you are notified that any dissemination,
> > >distribution
> > >or copy of this communication is strictly Prohibited.If you
> have received
> > >this message
> > >by error, please notify the sender immediately, return the
> original mail
> > >to the sender
> > >and delete the message from your system.
> >
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@thesycon.de
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
></http:></http:>