[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] XSA-36 / howto fix broken IVRS ACPI table
On 03/12/2013 03:04 PM, Hans Mueller
wrote:
Hello,
since applying the patches related to XSA-36 Xen recognizes a broken IVRS ACPI
table and disables I/O virtualisation.
I contacted the manufacturer of the mainboard/BIOS and they want to help me by
providing a patched BIOS - so far so good.
However, they need details about what to fix, which I don't know either.
Could you pls. give me some hints which I can forward to the manufacturer
support?
They should look at AMD IOMMU spec. For example,
support.amd.com/us/Processor_TechDocs/48882.pdf. Tables 77 and 79.
More specifically, the problem is these two entries:
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0x0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x1 handle 0x8
..
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0x0 flags 0x0
(XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8
which tell IOMMU driver that there are two IOAPICs, both with APICID
8.
I believe the second one is wrong.
-boris
Thanks a lot & best regards
Hans
PS: Hardware is a Gigabyte GA-970A-UD3(rev. 1.0), BIOS F7 (tested F8a, too).
PPS: I know about 'no-amd-iommu-perdev-intremap' - this does not really help
as e.g. heavy i/o on a usb device in one domain causes other domains to
disable the related irq etc. ...
>From the support mail:
"Our hardware team replied:
Please inform us what settings or specific detail he needs to modify on IVRS
ACPI Table.
They will try to patch it in a special BIOS and ask customer to check.
Or maybe you can ask Xen for a proper IVRS ACPI Table form/example and send to
us.
We can study on this and provide a special BIOS."
>From 'xl dmesg':
(XEN) AMD-Vi: Found MSI capability block at 0x54
(XEN) AMD-Vi: ACPI Table:
(XEN) AMD-Vi: Signature IVRS
(XEN) AMD-Vi: Length 0xd0
(XEN) AMD-Vi: Revision 0x1
(XEN) AMD-Vi: CheckSum 0x9b
(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 0x0
(XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0xa0 id 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x0 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0x0 -> 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0x100 -> 0x101
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x200 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x48 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x300 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0x90 -> 0x92
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0x0
(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 0xa3 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x0 id 0x0 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x400 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0x400 -> 0x4ff alias 0xa4
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa8 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x500 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0x500 -> 0x5ff
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0x0
(XEN) AMD-Vi: Dev_Id Range: 0xb0 -> 0xb2
(XEN) AMD-Vi: IVHD Device Entry: type 0x0 id 0x0 flags 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0x0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x1 handle 0x8
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0x0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0x0
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0x0 flags 0x0
(XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8
(XEN) IVHD Error: Conflicting IO-APIC 0x8 entries
(XEN) AMD-Vi: Error initialization
(XEN) I/O virtualisation disabled
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|