WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH][VTD] check BIOS settings before enabling interru

To: "Allen M Kay" <allen.m.kay@xxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH][VTD] check BIOS settings before enabling interrupt remapping or x2apic
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Tue, 05 Apr 2011 11:41:58 +0100
Cc: Joseph Cihula <joseph.cihula@xxxxxxxxx>, Keir Fraser <keir@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 05 Apr 2011 03:42:39 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <987664A83D2D224EAE907B061CE93D5301A79A3BDF@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <987664A83D2D224EAE907B061CE93D5301A79A3BDF@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> On 29.03.11 at 19:58, "Kay, Allen M" <allen.m.kay@xxxxxxxxx> wrote:
> Check flags field in ACPI DMAR structure before enabling interrupt remapping 
> or x2apic.  This allows platform vendors to disable interrupt remapping or 
> x2apic features if on board BIOS does not support them.
> 
> Signed-off-by: Allen Kay <allen.m.kay@xxxxxxxxx>

Taking a second look (while trying to merge this into our SLE11
code base), I think this

>@@ -761,7 +762,11 @@ out:
> 
> int __init acpi_dmar_init(void)
> {
>+    struct acpi_table_dmar *dmar;
>+
>     acpi_get_table(ACPI_SIG_DMAR, 0, &dmar_table);
>+    dmar = (struct acpi_table_dmar *) dmar_table;
>+    dmar_flags = dmar->flags;
> 
>     return parse_dmar_table(acpi_parse_dmar);
> }

is wrong from a TXT perspective - the table obtained here must
only be used for the signature zapping activity, nothing else. All
decisions must be based upon what gets passed to
acpi_parse_dmar(). (This would at once reduce the size of
the change, since a cast struct acpi_table_dmar * is already
available there.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel