[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] AMD IOMMU disabled - No Perdev Intremap
On 10/06/2013 04:40 PM, Andrew Cooper wrote: > On 06/10/2013 14:09, Ferdinand Nölscher wrote: >> On 10/06/2013 02:58 PM, Andrew Cooper wrote: >>> On 06/10/2013 13:56, Ferdinand Nölscher wrote: >>>> Hi Sander, >>>> >>>> Thanks for your reply. >>>> >>>> On 10/06/2013 02:10 PM, Sander Eikelenboom wrote: >>>>> Sunday, October 6, 2013, 1:36:33 PM, you wrote: >>>>> >>>>>> Hi! >>>>>>> From other people posting to this list, I know that there has >>>>>>> been a >>>>>> bug related to the issue described in Xen Security Advisory 36 >>>>>> that disables iommu for some AMD users like me. >>>>> What motherboard do you have ? >>>> I have an ASUS M5A99X EVO Rev 1.01 >>>> >>>> >>>>> It depends if it's the north or southbridge ioapic but try using >>>>> the new xen boot parameter: (add it to the xen.gz line in grub) >>>>> >>>>> ivrs_ioapic[0]=00:14.0 >>>>> >>>>> or >>>>> >>>>> ivrs_ioapic[0]=00:00.1 >>>> I tried both, it still fails to enable i/o virtualisation. >>> Can you post a full xl dmesg, booting with iommu=debug,verbose as well? >>> >>> ~Andrew >>> >>> >> Hi Andrew, >> This is what I got: > > <snip> > >> >> (XEN) AMD-Vi: Found MSI capability block at 0x54 >> (XEN) AMD-Vi: ACPI Table: >> (XEN) AMD-Vi: Signature IVRS >> (XEN) AMD-Vi: Length 0xd8 >> (XEN) AMD-Vi: Revision 0x1 >> (XEN) AMD-Vi: CheckSum 0x22 >> (XEN) AMD-Vi: OEM_Id AMD >> (XEN) AMD-Vi: OEM_Table_Id RD890S >> (XEN) AMD-Vi: OEM_Revision 0x202031 >> (XEN) AMD-Vi: Creator_Id AMD >> (XEN) AMD-Vi: Creator_Revision 0 >> (XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0xa8 id 0x2 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0 -> 0x2 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0x100 -> 0x101 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x20 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x200 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x300 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x400 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x500 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x50 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x600 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0x90 -> 0x92 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0x98 -> 0x9a >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa2 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x700 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0x700 -> 0x7ff alias 0xa4 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0 >> (XEN) AMD-Vi: Dev_Id Range: 0xb0 -> 0xb2 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7 >> (XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x1 handle 0 >> (XEN) IVHD Error: Invalid IO-APIC 0 >> (XEN) AMD-Vi: Error initialization >> (XEN) I/O virtualisation disabled >> (XEN) ENABLING IO-APIC IRQs >> (XEN) -> Using new ACK method > > Ok - my gut feeling is that this is a bug with the new command line > override code. There is certainly not enough debug printing to work out > exactly what is going on, and at a glance of the other information in > the log, the state looks reasonable. (cc'ing Jan and Suravee as the > authors) > > Could you try running with this patch (compile tested only) and seeing > what it says? > > ~Andrew > > 8<------ > diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c > b/xen/drivers/passthrough/amd/iommu_acpi.c > index fca2037..66755fa 100644 > --- a/xen/drivers/passthrough/amd/iommu_acpi.c > +++ b/xen/drivers/passthrough/amd/iommu_acpi.c > @@ -25,6 +25,7 @@ > #include <asm/io_apic.h> > #include <asm/amd-iommu.h> > #include <asm/hvm/svm/amd-iommu-proto.h> > +#include <xen/keyhandler.h> > > /* Some helper structures, particularly to deal with ranges. */ > > @@ -785,6 +786,11 @@ static u16 __init parse_ivhd_device_special( > { > printk(XENLOG_ERR "IVHD Error: Invalid IO-APIC %#x\n", > special->handle); > + bitmap_scnprintf(keyhandler_scratch, > sizeof(keyhandler_scratch), > + ioapic_cmdline, > + BITS_TO_LONGS(ARRAY_SIZE(ioapic_sbdf)) ); > + printk("**DEBUG: apic = %d, nr_ioapics = %d, ioapic_cmdline > = %s\n", > + apic, nr_ioapics, keyhandler_scratch); > return 0; > } > break; > > > I applied your patch, this is the related output: (XEN) AMD-Vi: Found MSI capability block at 0x54 (XEN) AMD-Vi: ACPI Table: (XEN) AMD-Vi: Signature IVRS (XEN) AMD-Vi: Length 0xd8 (XEN) AMD-Vi: Revision 0x1 (XEN) AMD-Vi: CheckSum 0x22 (XEN) AMD-Vi: OEM_Id AMD (XEN) AMD-Vi: OEM_Table_Id RD890S (XEN) AMD-Vi: OEM_Revision 0x202031 (XEN) AMD-Vi: Creator_Id AMD (XEN) AMD-Vi: Creator_Revision 0 (XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0xa8 id 0x2 (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0 -> 0x2 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0x100 -> 0x101 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x20 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x200 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x300 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x400 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x500 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x50 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x600 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0x90 -> 0x92 (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0x98 -> 0x9a (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa2 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x700 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0x700 -> 0x7ff alias 0xa4 (XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0 (XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0 (XEN) AMD-Vi: Dev_Id Range: 0xb0 -> 0xb2 (XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7 (XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x1 handle 0 (XEN) IVHD Error: Invalid IO-APIC 0 (XEN) **DEBUG: apic = 2, nr_ioapics = 2, ioapic_cmdline = 0 (XEN) AMD-Vi: Error initialization (XEN) I/O virtualisation disabled (XEN) ENABLING IO-APIC IRQs (XEN) -> Using new ACK method kind regards _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |