2008-10-01 16:56:26

by Fenghua Yu

[permalink] [raw]
Subject: [PATCH 0/2]Add Variable Page Size and IA64 Support in Intel IOMMU


The following two patches (Intel IOMMU generic patch and ia64 specific patch) together enable Intel IOMMU on IA64 platform. They are applied cleanly on the latest linux-next tree which contains Intel IOMMU interrupt remapping and VT-d driver KVM support code.

If applying only the generic patch on x86-64 kernel, x86-64 IOMMU is working fine, i.e. the generic patch doesn't have compilation and functionality impact on x86-64 IOMMU. If applying only the ia64 specific patch on ia64 kernel, ia64 is working as non-IOMMU/swiotlb case. If applying both of the patches and set CONFIG_DMAR=y, ia64 IOMMU is working.

Thanks.

-Fenghua


2008-10-03 15:50:34

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH 0/2]Add Variable Page Size and IA64 Support in Intel IOMMU

On Wednesday 01 October 2008 10:56:06 am Fenghua Yu wrote:
> The following two patches (Intel IOMMU generic patch and ia64 specific patch) together enable Intel IOMMU on IA64 platform. They are applied cleanly on the latest linux-next tree which contains Intel IOMMU interrupt remapping and VT-d driver KVM support code.

General comment (not ia64-related): it looks like you detect the
IOMMU using the static DMAR table. Does the IOMMU also appear in
PCI config space or the ACPI namespace? I expect it would, because
the fact that the DMAR table is static precludes any sort of hot-plug
to add or remove IOMMUs.

If it *is* in config space or the namespace, it would be good to
exercise that discovery path to help shake out firmware bugs. For
example, arch/ia64/hp/common/sba_iommu.c uses acpi_bus_register_driver()
to discover HP IOMMUs. I wouldn't hold the sba_iommu.c discovery code
(most of which I take the blame for) up as a shining example of how to
do things, but it shows the point.

Bjorn

2008-10-06 19:45:31

by Fenghua Yu

[permalink] [raw]
Subject: RE: [PATCH 0/2]Add Variable Page Size and IA64 Support in Intel IOMMU

>> The following two patches (Intel IOMMU generic patch and ia64 specific

>the fact that the DMAR table is static precludes any sort of hot-plug
>to add or remove IOMMUs.

The latest VT-d spec v1.1 does not support hot plug. If the feature is available in newer spec, we will support it.

Thanks.

-Fenghua

2008-10-07 00:02:34

by Fenghua Yu

[permalink] [raw]
Subject: [PATCH V2 0/2] Add Variable Page Size and IA64 Support in Intel IOMMU

The patche set (Intel IOMMU generic patch and ia64 specific patch) together enable Intel IOMMU on IA64 platform. They are applied cleanly on the latest linux-next tree which contains Intel IOMMU interrupt remapping and VT-d driver KVM support code.

If applying only the generic patch on x86-64 kernel, x86-64 IOMMU is working fine, i.e. the generic patch doesn't have compilation and functionality impact on x86-64 IOMMU. If applying only the ia64 specific patch on ia64 kernel, ia64 is working as non-IOMMU/swiotlb case. If applying both of the patches and set CONFIG_DMAR=y, ia64 IOMMU is working.

Thanks.

-Fenghua