• Youquan Song's avatar
    intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS · 074835f0
    Youquan Song authored
    BIOS clear DMAR table INTR_REMAP flag to disable interrupt remapping. Current
    kernel only check interrupt remapping(IR) flag in DRHD's extended capability
    register to decide interrupt remapping support or not. But IR flag will not
    change when BIOS disable/enable interrupt remapping.
    
    When user disable interrupt remapping in BIOS or BIOS often defaultly disable
    interrupt remapping feature when BIOS is not mature.Though BIOS disable
    interrupt remapping but intr_remapping_supported function will always report
    to OS support interrupt remapping if VT-d2 chipset populated. On this
    cases, kernel will continue enable interrupt remapping and result kernel panic.
    This bug exist on almost all platforms with interrupt remapping support.
    
    This patch add DMAR table INTR_REMAP flag check before enable interrupt
    remapping.
    Signed-off-by: default avatarYouquan Song <youquan.song@intel.com>
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    074835f0
dmar.c 31.3 KB