16 Nov, 2011

1 commit

  • The 'name' attribute of struct uio_mem wasn't documented, and the note
    about 'kobj' is stale and needs to be changed to 'map'.

    Signed-off-by: Geoff Thorpe
    Signed-off-by: "Hans J. Koch"
    Signed-off-by: Greg Kroah-Hartman

    Geoff Thorpe
     

19 Oct, 2011

1 commit

  • To support >32-bit physical addresses for UIO_MEM_PHYS type we need to
    extend the width of 'addr' in struct uio_mem. Numerous platforms like
    embedded PPC, ARM, and X86 have support for systems with larger physical
    address than logical.

    Since 'addr' may contain a physical, logical, or virtual address the
    easiest solution is to just change the type to 'phys_addr_t' which
    should always be greater than or equal to the sizeof(void *) such that
    it can properly hold any of the address types.

    For physical address we can support up to a 44-bit physical address on a
    typical 32-bit system as we utilize remap_pfn_range() for the mapping of
    the memory region and pfn's are represnted by shifting the address by
    the page size (typically 4k).

    Signed-off-by: Kai Jiang
    Signed-off-by: Minghuan Lian
    Signed-off-by: Kumar Gala
    Signed-off-by: Hans J. Koch
    Signed-off-by: Greg Kroah-Hartman

    Kai Jiang
     

31 Mar, 2011

1 commit


19 Nov, 2010

1 commit


16 Sep, 2009

1 commit

  • This adds a generic uio driver that can bind to any PCI device. First
    user will be virtualization where a qemu userspace process needs to give
    guest OS access to the device.

    Interrupts are handled using the Interrupt Disable bit in the PCI
    command register and Interrupt Status bit in the PCI status register.
    All devices compliant to PCI 2.3 (circa 2002) and all compliant PCI
    Express devices should support these bits. Driver detects this support,
    and won't bind to devices which do not support the Interrupt Disable Bit
    in the command register.

    It's expected that more features of interest to virtualization will be
    added to this driver in the future. Possibilities are: mmap for device
    resources, MSI/MSI-X, eventfd (to interface with kvm), iommu.

    Signed-off-by: Michael S. Tsirkin
    Acked-by: Chris Wright
    Signed-off-by: Hans J. Koch
    Acked-by: Jesse Barnes
    Signed-off-by: Greg Kroah-Hartman

    Michael S. Tsirkin
     

25 Mar, 2009

1 commit

  • If a UIO device has several memory mappings, it can be difficult for userspace
    to find the right one. The situation becomes even worse if the UIO driver can
    handle different versions of a card that have different numbers of mappings.
    Benedikt Spranger has such cards and pointed this out to me. Thanks, Bene!

    To address this problem, this patch adds "name" sysfs attributes for each
    mapping. Userspace can use these to clearly identify each mapping. The name
    string is optional. If a driver doesn't set it, an empty string will be
    returned, so this patch won't break existing drivers.

    The same problem exists for port region information, so a "name" attribute is
    added there, too.

    Signed-off-by: Hans J. Koch
    Signed-off-by: Greg Kroah-Hartman

    Hans J. Koch
     

29 Jan, 2009

1 commit

  • The following features were added to the UIO framework in the near past:

    * Generic drivers for platform devices (uio_pdrv, uio_pdrv_genirq)
    * an "offset" sysfs attribute for memory mappings

    Unfortunately, all this went in without documentation (won't happen again...)

    This patch updates UIO documentation.

    Signed-off-by: Hans J. Koch
    Acked-by: Uwe Kleine-König
    Signed-off-by: Greg Kroah-Hartman

    Hans J. Koch
     

07 Jan, 2009

2 commits


22 Jul, 2008

3 commits

  • The Userspace I/O HOWTO template sets two different sections with the same
    html output name (about.html). This clearly won't work, so change the
    first one to a unique "aboutthis.html" to prevent clobbering.

    Signed-off-by: Mike Frysinger
    Acked-by: Hans J. Koch
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Mike Frysinger
     
  • The Userspace I/O HOWTO document uses straight tags and plain text
    to describe copyright/legal information. It should instead use the
    and tags like all other documents in the kernel.

    Signed-off-by: Mike Frysinger
    Acked-by: Hans J. Koch
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Mike Frysinger
     
  • Sometimes it is necessary to enable/disable the interrupt of a UIO device
    from the userspace part of the driver. With this patch, the UIO kernel driver
    can implement an "irqcontrol()" function that does this. Userspace can write
    an s32 value to /dev/uioX (usually 0 or 1 to turn the irq off or on). The
    UIO core will then call the driver's irqcontrol function.

    Signed-off-by: Hans J. Koch
    Acked-by: Uwe Kleine-König
    Acked-by: Magnus Damm
    Signed-off-by: Greg Kroah-Hartman

    Hans J. Koch
     

29 Nov, 2007

1 commit

  • Remove references to the old uio_dummy demo module from UIO documentation.
    Add a small paragraph to make it clearer that UIO is not a universal driver
    interface.

    Signed-off-by: Hans J Koch
    Signed-off-by: Greg Kroah-Hartman

    Hans J Koch
     

09 Aug, 2007

1 commit

  • UIO currently contains a rather dubious statement which wants removing.

    The actual questions around whether user space code that depends tightly
    on kernel GPL code designed to co-work with it are derivative works of
    the kernel is extremely complex, and since we don't have space for either
    a masters length essay on legal issues or need to start flamewars lets
    simply remove the comment and leave law to lawyers

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     

19 Jul, 2007

1 commit