Re: [PATCH 0/1] uio_pci_generic: extensions to allow access for non-privileged processes

Avi Kivity
2010-04-09T09:58:19Z

On 04/02/2010 08:05 PM, Greg KH wrote:
>
>> Currently kvm does device assignment with its own code, I'd like to unify
>> it with uio, not split it off.
>>
>> Separate notifications for msi-x interrupts are just as useful for uio as
>> they are for kvm.
>>
> I agree, there should not be a difference here for KVM vs. the "normal"
> version.
>

Just so you know what you got into, here are the kvm requirements:

- msi interrupts delivered via eventfd (these allow us to inject
interrupts from uio to a guest without going through userspace)
- nonlinear iommu mapping (i.e. map discontiguous ranges of the device
address space into ranges of the virtual address space)
- dynamic iommu mapping (support guest memory hotplug)
- unprivileged operation once an admin has assigned a device (my
preferred implementation is to have all operations go through an fd,
which can be passed via SCM_RIGHTS from a privileged application that
opens the file)
- access to all config space, but BARs must be translated so userspace
cannot attack the host
- some mechanism which allows us to affine device interrupts with their
target vcpus (eventually, this is vague)
- anything mst might add
- a pony

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.