Messages in this thread |  | | | Subject | Re: [PATCH] Intel IOMMU Pass Through Support | | From | David Woodhouse <> | | Date | Sun, 19 Apr 2009 11:05:08 +0100 |
| |
On Wed, 2009-04-15 at 17:19 -0700, Fenghua Yu wrote: > + if (iommu_pass_through) > + if (!pass_through) { > + printk(KERN_INFO > + "Pass Through is not supported by hardware.\n"); > + iommu_pass_through = 0; > + }
So if we ask for pass-through and the hardware doesn't support it, we end up in full-translation mode? Wouldn't it be better to set up 1:1 mappings for each device instead?
(We probably want to fix up the code which sets up 1:1 mappings to actually share page tables where appropriate, and to use superpages).
Also, did we already have a discussion about whether this should be an intel_iommu= parameter, or a generic iommu= one?
> ret = domain_context_mapping_one(domain, > - pci_domain_nr(parent->bus), > - parent->bus->number, > - parent->devfn); > + pci_domain_nr(parent->bus), > + parent->bus->number, > + parent->devfn, translation);
Whitespace damage here -- you're modifying continuation lines which used to be right underneath the 'domain' parameter, and you're making them not line up properly.
You have the same problem elsewhere for newly-added code too, in fact:
> + ret = domain_context_mapping(domain, pdev, > + CONTEXT_TT_PASS_THROUGH);
-- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation
|  |