Skip to contentSkip to conversation

iommu external module

DISCUSSION Avi Kivity 2 participants 3 messages Oct 2, 2008 KVM

lore
Share & tools
lore

Avi Kivity

author
#0 lore raw

When userspace support for device assignment is merged, we will finally have full support for device assignment. Unfortunately, many users won't be able to test or use device assignment, since very few actually run development kernels. The first stable kernel with enough iommu support for kvm will be 2.6.28, released in about three months, and distros are even further away.

We can fix this fairly simply by having an external module for the iommus, much like kvm itself. I don't think it should be too difficult, and it will provide a lot of testing to us, and important functionality for our users.

Anyone willing to pick this up?

Signature · 1 line
error compiling committee.c: too many arguments to function
#1 lore raw
Quoted 4 lines · Avi Kivity

We can fix this fairly simply by having an external module for the iommus, much like kvm itself. I don't think it should be too difficult, and it will provide a lot of testing to us, and important functionality for our users.

The problem is that if we want to enable DMA translation for a given device, we have to do it before it has any outstanding DMAs. As long as you have a device that you want to enable translation for as built-in, you'll need the IOMMU built-in as well, or will need to reset the device when you load the IOMMU. That's why all IOMMUs are currently built-in.

Cheers,
Muli

Signature · 5 lines
The First Workshop on I/O Virtualization (WIOV '08)
Dec 2008, San Diego, CA, http://www.usenix.org/wiov08/
                       <->
SYSTOR 2009---The Israeli Experimental Systems Conference
http://www.haifa.il.ibm.com/conferences/systor2009/
author
#2 lore raw
Quoted 9 lines · Muli Ben-Yehuda
Quoted 5 lines · Avi Kivity

We can fix this fairly simply by having an external module for the iommus, much like kvm itself. I don't think it should be too difficult, and it will provide a lot of testing to us, and important functionality for our users.

Quoted 7 lines

The problem is that if we want to enable DMA translation for a given device, we have to do it before it has any outstanding DMAs. As long as you have a device that you want to enable translation for as built-in, you'll need the IOMMU built-in as well, or will need to reset the device when you load the IOMMU. That's why all IOMMUs are currently built-in.

This is for using with kvm as an external module, so there is no question of a built in device. It's purely for older kernels; I'm not calling for modular iommus.

Signature · 1 line
error compiling committee.c: too many arguments to function