• D
    iommu/vt-d: Implement SVM_FLAG_SUPERVISOR_MODE for kernel access · 5cec7537
    David Woodhouse 提交于
    This is only usable for the static 1:1 mapping of physical memory.
    
    Any access to vmalloc or module regions will require some way of doing
    an IOTLB flush. It's theoretically possible to hook into the
    tlb_flush_kernel_range() function, but that seems like overkill — most
    of the addresses accessed through a kernel PASID *will* be in the 1:1
    mapping.
    
    If we really need to allow access to more interesting kernel regions,
    then the answer will probably be an explicit IOTLB flush call after use,
    akin to the DMA API's unmap function.
    
    In fact, it might be worth introducing that sooner rather than later, and
    making it just BUG() if the address isn't in the static 1:1 mapping.
    Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
    5cec7537
intel-svm.c 15.0 KB