On Sun, May 04, 2008 at 06:39:51PM +0300, Shachar Shemesh wrote:
> Ira Abramov wrote:
>> Howdie folks,
>>
>> My client needs to develop tools that communicate directly with
>> QLA2xxx cards. at the moment, working on regular kernels he gets
>> the machine stuck at times. I read somewhere that with Xen, there's
>> a way to let the VMs talk to the hardware directly and that will
>> make getting unstuck a bit easier.
> Yes (not that I know the details), but that requires a machine that
> supports IOMMU. Not many do.
Both Xen and KVM support direct hardware access (aka "pass-through"
access) with and without an isolation-capable IOMMU. However, without
an IOMMU, I don't see what Ira's client would gain from the setup he
describe above. As it happens you can buy machines with Intel's VT-d
IOMMU today for a pretty reasonable price (e.g., check out Lenovo's
M57p). You can also buy x86 servers with an IOMMU from IBM, but those
are rather more expensive.
>> Xen however is a bit of a chore. should/could I use KVM
>> instead? will it support the hardware access I need?
>>
> AFAIR, yes.
KVM doesn't have in-tree direct access yet, but we are working on
it. If you want to experiment, the git trees to use are
git://git.kernel.org/pub/scm/linux/kernel/git/amit/{kvm,kvm-userspace}.git
>> Also, somce sales guy at Qlogic told them that VMware ESX lets them
>> do what they need and that it is in fact the "recommended way" of
>> developping hardware-direct code by Qlogic. I found that extremely
>> odd, and not backed up by any ESX product sheets.
>>
> KVM, Xen and VMWare ESX are just different implementations of the same
> technology,
Sure, just like Windows and Linux are just different implementations
of the same technology.
> so it wouldn't be too surprising for me to hear that that was the
> case.
I am not aware of current versions of ESX supporting direct
access. I'd love to hear more details.
Cheers,
Muli
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]