• J
    iommu/vt-d: use dedicated bitmap to track remapping entry allocation status · 360eb3c5
    Jiang Liu 提交于
    Currently Intel interrupt remapping drivers uses the "present" flag bit
    in remapping entry to track whether an entry is allocated or not.
    It works as follow:
    1) allocate a remapping entry and set its "present" flag bit to 1
    2) compose other fields for the entry
    3) update the remapping entry with the composed value
    
    The remapping hardware may access the entry between step 1 and step 3,
    which then observers an entry with the "present" flag set but random
    values in all other fields.
    
    This patch introduces a dedicated bitmap to track remapping entry
    allocation status instead of sharing the "present" flag with hardware,
    thus eliminate the race window. It also simplifies the implementation.
    Tested-and-reviewed-by: NYijing Wang <wangyijing@huawei.com>
    Signed-off-by: NJiang Liu <jiang.liu@linux.intel.com>
    Signed-off-by: NJoerg Roedel <joro@8bytes.org>
    360eb3c5
intel-iommu.h 12.1 KB