[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen 4.2.1 boot failure with IOMMU enabled



>>> On 14.02.13 at 15:55, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> wrote:
> On 02/14/2013 06:29 AM, Jan Beulich wrote:
>>>>> On 13.02.13 at 19:21, povder <povder@xxxxxxxxx> wrote:
>>> I don't see 06:00.1 device in IOMMU enabling process on which Xen crashes.
>>>
>>> lspci output: http://pastebin.com/raw.php?i=3wpKPQT9 
>> This is really odd: The "iommu=debug" output you made available
>> shows that while there are further devices that have no associated
>> IOMMU, the bus scan done in the hypervisor didn't even find a
>> device at 06:00.1. Which I see possible only in two ways: Either
>> the device becomes visible on the bus only when the driver for
>> 06:00.0 loads (and is otherwise detectable only by other means,
>> e.g. ACPI), or 06:00.0 doesn't have the multi function device flag
>> properly set. That latter aspect could be checked by looking at
>> the raw (hex) config space dump of 06:00.0.
> 
> If I read this correctly, Linux enables multi-functionness (?):
> 
> http://lxr.linux.no/#linux+v3.7.7/drivers/pci/quirks.c#L1494 
> 
> So you are probably right. BIOS does not enumerate 06:00.1 in IVRS because
> it doesn't see it enabled yet.

Indeed, and it has been that way since 2.6.18 (i.e. virtually
forever; commit 15e0c694367332d7e7114c7c73044bc5fed9ee48).

I've got a patch mostly ready to deal with non-zero functions
when we at least know something about function zero.

But I don't think we can easily deal with the single IOMMU
case, making that IOMMU cover all devices, as we would
still need to figure out the requestor ID for each device. That
requires looking at the PCI bus topology iiuc, and while we
have the necessary logic for VT-d, it seems not really strait
forward (mainly because risky) to make use of this in the AMD Vi
code too.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.