Re: XP drivers for I/O?

From: David Lindauer (spamtrap_at_crayne.org)
Date: 10/10/04


Date: Sun, 10 Oct 2004 19:40:36 +0000 (UTC)

hi,

I just found a WINNT service that allows you to access both I/O ports and
physical memory from Win32 user space. It works ok on XP. The code for the
service, and load and unload functions are there, as well as a C++ dll (visual
studio) that interacts with the service and some demo programs. Just looking at
the code for the DLL, it would be *extremely* easy to convert the code to C or
assembly, it basically boils down to C++ class wrappers around WIN32 api calls
that access the service. The IO is direct from user space, but you need
DevIOCTL calls to map and unmap physical memory.

here it is:

http://www.bbdsoft.com/iomemory.html

there seem to be versions of win9x as well :)

David
Dave W wrote:

> I've been teaching a college level course on and off thru the years on x86
> asm and arch. Last time I taught we had Win 98 and of course this OS
> allowed anyone to access the PC I/O like serial ports, ISA bus, printer
> ports,etc. Of course the new OSs like XP don't allow that. I've been
> looking into writing a driver for an ISA proto board at the school, but it
> appears Win driver development with the MS DDK is not a trivial task -
> especially if you wanted to stay in assembly. Has anyone seen a hack ( a
> driver in assembly) or other workaround for this problem? Don't get me
> wrong, I agree with the need for drivers in the newer OSs, and I'm not
> trying to open this up to a discussion about the need for drivers for
> hardware access. But for teaching, a driver is a distraction. For now, I
> believe we will just scrounge up some Win 95/98 boxes and run with it. But
> eventually it would be nice to develop code and control I/O on the something
> like Win2K or XP.
>
> Thanks,
>
> Dave



Relevant Pages

  • [PATCH 19-rc1] Fix typos in /Documentation : U-Z
    ... when the underlying device was capable of handling the i/o in one shot. ... using dev->irq by the device driver to request for interrupt service ... The EMU10K2 chips have a DSP part which can be programmed to support ... -(This acticle does not deal with the overall functionality of the ...
    (Linux-Kernel)
  • Re: [PATCH] uio: User IRQ Mode
    ... In this mode the user space driver ... is responsible for acknowledging and re-enabling the interrupt. ... This can easily be done without your patch. ...
    (Linux-Kernel)
  • Re: [PATCH] uio: User IRQ Mode
    ... This patch adds a "User IRQ Mode" to UIO. ... In this mode the user space driver ... is responsible for acknowledging and re-enabling the interrupt. ...
    (Linux-Kernel)
  • Re: [PATCH] uio: User IRQ Mode
    ... This patch adds a "User IRQ Mode" to UIO. ... In this mode the user space driver ... is responsible for acknowledging and re-enabling the interrupt. ...
    (Linux-Kernel)
  • Re: [PATCH 19-rc1] Fix typos in /Documentation : U-Z
    ... +iii.Ability to represent large i/os w/o unnecessarily breaking them up (i.e ... when the underlying device was capable of handling the i/o in one shot. ... using dev->irq by the device driver to request for interrupt service ... -(This acticle does not deal with the overall functionality of the ...
    (Linux-Kernel)