Re: [PATCH] uio_pci_generic does not export memory resources

From: Dominic Eschweiler
Date: Fri Jun 08 2012 - 10:28:59 EST


Am Freitag, den 08.06.2012, 16:03 +0300 schrieb Michael S. Tsirkin:
> Why is this needed?
> What's wrong with mapping resources through
> /sys/bus/pci/devices/XXXXXresourceX
> ?
>
Mmmh ok, the problem here is, that the UIO documentation states:

"/dev/uioX is used to access the address space of the card. Just use
mmap() to access registers or RAM locations of your card."

and

"From userspace, the different mappings are distinguished by adjusting
the offset parameter of the mmap() call."


This does not work and the "/sys/class/uio/uioX/maps/mapX/" directories
do also not appear. I was very confused when I tried UIO the first time
and it did not behave like it is described in the documentation.

Anyway, the patch adds the described behaviour and I would more than
happy, if it would be accepted for the mainline kernel.
>
> uio currently only supports devices which do not
> do DMA.
>
> DMA from uio controlled devices is a no no unless
> it's behind an IOMMU which can protect us from
> random memory corruptions this could cause.
>
> In the later case it's OK but we need some code
> to check this and program the IOMMU appropriately.

OK, I see. Might it be OK if I just remove the DMA stuff from this patch
and resubmit it?

--
GruÃ
Dominic

Frankfurt Institute for Advanced Studies (FIAS)
Ruth-Moufang-StraÃe 1
D-60438 Frankfurt am Main
Germany

Phone: +49 69 79844114

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