Re: Fix interrupt remapping hang if interrupt remapping disable in BIOS

From: Youquan,Song
Date: Tue Sep 08 2009 - 23:07:54 EST


On Mon, Sep 07, 2009 at 06:59:40PM +0400, Cyrill Gorcunov wrote:
> [Youquan Song - Mon, Sep 07, 2009 at 10:13:13AM -0400]
> ...
> | static int disable_intremap;
> | static __init int setup_nointremap(char *str)
> | @@ -607,9 +608,14 @@ end:
> | int __init intr_remapping_supported(void)
> | {
> | struct dmar_drhd_unit *drhd;
> | -
> | + struct acpi_table_dmar *dmar;
> | +
> | if (disable_intremap)
> | return 0;
> | +
> | + dmar = (struct acpi_table_dmar *)dmar_tbl;
> | + if (!(dmar->flags & 0x1))
> | + return 0;
> |
> | for_each_drhd_unit(drhd) {
> | struct intel_iommu *iommu = drhd->iommu;
>
> Hi Youquan,
>
> perhaps we could move this test to helper function
> in dmar.c instead of plain external variable test?

Good point. I will update it and send it out soon.

- Youquan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/