RE: device driver questions

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


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/



This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:21 EST