RE: device driver questions

Friedrich Steven E CONT CNIN (friedrich_s@crane.navy.mil)
Fri, 13 Apr 2001 15:10:48 -0500


a couple questions below...

-----Original Message-----
From: Alan Cox
Sent: Friday, April 13, 2001 14:47
To: Friedrich Steven E CONT CNIN
Cc: linux-kernel@vger.kernel.org
Subject: Re: device driver questions

> My device shows up in /proc/iomem even before I load my device
driver,
> indicating that the pci subsystem mapped it into the kernel pages.
But bar0

Actually the addresses you see there are physical bus addresses not
neccessarily
and on x86 quite likely not actually mapped.

Oops, sorry about that. I am using ioremap to create the kernel
pages

> Why didn't the pci subsystem configure the device to appear on a
page
> boundary?

The device didnt ask to be on a page boundary

Would seem like a good option to include on such a device, since
various OSes and platforms may have various requirements...

> the user program? I know I could create an ioctl call, but I
would think
> there must be some other method already in place, since this would
affect
> all pci devices.

If you want to mmap the device then you really want to put the
device in its
own 4K aligned 4K sized PCI window, otherwise adjacent devices will
become
accessible too and that might not be desirable.

How can I tell Linux to do this? Will the pci subsystem do it?

Or you could avoid providing mmap.

It seems to me that a lot of trouble went into creating memory
mapped i/o devices on the PC platform, and I would like to retain this
capability. Our app has real-time requirements, and we're trying to assess
if Linux can meet our requirements with/without real-time extensions. We
are also willing to move some of the real-time functionality into
hardware...

We've already developed our app under VxWorks. We access our
devices with simple, quick pointers to structures. So everything is a
*memory read* or *memory write*. Minimal overhead.

Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/