On Fri, Sep 28, 2012 at 02:23:54PM +0200, Joerg Roedel wrote: > When the IOAPIC information provided in the IVRS table is > not correct or not complete the system may not boot at all > when interrupt remapping is enabled. So check if this > information is correct and print out a firmware bug message > when it is not. > > Signed-off-by: Joerg Roedel <joerg.roe...@amd.com> > --- > drivers/iommu/Kconfig | 2 +- > drivers/iommu/amd_iommu_init.c | 27 ++++++++++++++++++++++++--- > 2 files changed, 25 insertions(+), 4 deletions(-) > > diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig > index 9f69b56..e39f9db 100644 > --- a/drivers/iommu/Kconfig > +++ b/drivers/iommu/Kconfig > @@ -42,7 +42,7 @@ config AMD_IOMMU > select PCI_PRI > select PCI_PASID > select IOMMU_API > - depends on X86_64 && PCI && ACPI > + depends on X86_64 && PCI && ACPI && X86_IO_APIC > ---help--- > With this option you can enable support for AMD IOMMU hardware in > your system. An IOMMU is a hardware component which provides > diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c > index db100c5..3f0b68f 100644 > --- a/drivers/iommu/amd_iommu_init.c > +++ b/drivers/iommu/amd_iommu_init.c > @@ -33,6 +33,7 @@ > #include <asm/gart.h> > #include <asm/x86_init.h> > #include <asm/iommu_table.h> > +#include <asm/io_apic.h> > > #include "amd_iommu_proto.h" > #include "amd_iommu_types.h" > @@ -1572,6 +1573,23 @@ static void __init free_on_init_error(void) > #endif > } > > +static bool __init check_ioapic_information(void) > +{ > + int idx; > + > + for (idx = 0; idx < nr_ioapics; ++idx) {
That ++idx looks odd - and it looks like the file has a combination of i++ and ++i. Any particular reason for using this particular one instead of the more common: "idx++" ? Or just habit? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/