[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] IOMMU/AMD-Vi not working after XSA-36 with 970A-UD3
On Sun, May 5, 2013 at 8:43 AM, Hans Mueller <mcbeagle@xxxxxx> wrote: > On Saturday, 4. May 2013 22:54:57 Eric Shelton wrote: >> I have the same motherboard with I/O virtualization running. You are >> welcome to follow my path if you wish. I detailed the issues with the >> 970A-UD3 motherboard in response to [1], so it should give you a clear >> idea as to the defect and whether you consider what I am doing meets >> your goals. My view is that the particular misconfiguration with this >> board, in which the ACPI IVRS table lists an unused northbridge >> IOAPIC, is reasonably ignored as done in the below patch. >> >> My xen boot line is as follows: >> kernel /boot/xen.gz dom0_mem=2048M loglvl=all guest_loglvl=all >> apic_verbosity=debug e820-verbose=1 iommu=debug,verbose >> >> I have patched iommu_acpi.c as follows: >> --- orig/xen/drivers/passthrough/amd/iommu_acpi.c 2013-05-04 >> 21:18:18.148000000 -0400 >> +++ >> xen-unstable-3f28d0077788e7f8cd3ee25b023a4225d7e26e87/xen/drivers/passthrou >> gh/amd/iommu_acpi.c 2013-04-23 22:27:28.028000000 -0400 >> @@ -679,8 +679,9 @@ >> special->handle); >> else >> { >> - printk(XENLOG_ERR "IVHD Error: Conflicting >> IO-APIC %#x entries\n", >> + printk(XENLOG_ERR "ignored - IVHD Error: >> Conflicting IO-APIC %#x entries\n", >> special->handle); >> + break; >> if ( amd_iommu_perdev_intremap ) >> return 0; >> } >> @@ -702,12 +703,14 @@ >> } >> break; >> } >> + /* >> if ( apic == nr_ioapics ) >> { >> printk(XENLOG_ERR "IVHD Error: Invalid IO-APIC %#x\n", >> special->handle); >> return 0; >> } >> + */ >> break; >> case ACPI_IVHD_HPET: >> /* set device id of hpet */ >> >> xl dmesg reports the following: >> (XEN) Xen version 4.3-unstable (root@) (gcc (Gentoo 4.6.3 p1.11, >> pie-0.5.2) 4.6.3) debug=y Tue Apr 23 22:28:54 EDT 2013 >> (XEN) Latest ChangeSet: unavailable >> (XEN) Bootloader: GNU GRUB 0.97 >> (XEN) Command line: dom0_mem=2048M loglvl=all guest_loglvl=all >> apic_verbosity=debug e820-verbose=1 iommu=debug,verbose >> . . . >> (XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0]) >> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23 >> . . . >> (XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7 >> (XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x1 handle 0x8 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7 >> (XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0 >> (XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0 >> (XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8 >> (XEN) ignored - IVHD Error: Conflicting IO-APIC 0x8 entries >> (XEN) AMD-Vi: IOMMU 0 Enabled. >> (XEN) AMD-Vi: Enabling per-device vector maps >> (XEN) I/O virtualisation enabled >> (XEN) - Dom0 mode: Relaxed >> (XEN) Interrupt remapping enabled > > Perhaps I missed something but as your approach ignores the improper entry for > the northbridge it should behave similar to using the patched BIOS (F8c) which > removes this entry from the IVRS table? > > At all I use the patched BIOS w/o any patches for Xen and w/o the > 'iommu=amd-iommu-perdev-intremap' parameter and I/O virtualisation becomes > enabled (Xen version 4.2.x ChangeSet 26064:754008dbaa6c): > > (XEN) AMD-Vi: IOMMU 0 Enabled. > (XEN) AMD-Vi: Enabling per-device vector maps > (XEN) I/O virtualisation enabled > (XEN) - Dom0 mode: Relaxed > (XEN) Interrupt remapping enabled > > Regards > Hans I suspect the obtained result is the same, or at least very similar. I put the patch (more of a crude hack) together a while back to enable interrupt sharing, before Gigabyte made a ver F8c for you to try out. Also, as far as I can tell Gigabyte has not made F8c publicly generally - the latest BIOS I see on their website is F8a from December 2012. Enabling and correctly configuring the northbridge is pretty easy from a register programming perspective. The more difficult part is getting the corresponding ACPI table changes fed to Xen as well, as Xen looks to them for configuration. I know how to go about it at this point, but another project has priority over it for the next week or two. - Eric _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |