Re: NT/Linux Driver?

Theodore Y. Ts'o (tytso@MIT.EDU)
Thu, 1 May 1997 10:52:26 -0400


From: "MacKinnon, Cameron" <cmackin@p3.thestar.ca>
Date: Thu, 01 May 97 09:52:00 PDT

Has anyone besides me thought about building a shim driver between the
Linux mid level SCSI (for example) layer and NT SCSI hba drivers? The
Microsoft DDK seems to provide enough information to do this, and it
would bridge a gap for RAID cards and other stuff where the Linux
community has been foiled by uncooperative/NDA waving vendors.

I'm not familiar with the Microsoft DDK, but the traditional problem has
bene that device drivers expect to be running an environment where they
have all sorts of operating system services delivered to them; that is,
they aren't just a provider of OS services, they are also a consumer of
OS services.

The question I have is how many Windows NT kernel-level routies is a NT
device driver allowed to call? Because we would need to supply all of
the routine NT supplies to allow drivers to hook into interrupts, the
routines drivers use to access the virtual memory subsystem to do DMA,
etc.

And it may very well end up being that the way NT does it virtual memory
is fundamentally incompatible with how Linux's VM subsystem works, so
compatibility at the binary level, or even source level, might be
well-nigh impossible.

Still, it might be possible --- there are many, many, many issues to be
considered though.

- Ted