函数逻辑报告 |
Source Code:arch\x86\kernel\amd_gart_64.c |
Create Date:2022-07-27 09:51:33 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:alloc_iommu
函数原型:static unsigned long alloc_iommu(struct device *dev, int size, unsigned long align_mask)
返回类型:unsigned long
参数:
类型 | 参数 | 名称 |
---|---|---|
struct device * | dev | |
int | size | |
unsigned long | align_mask |
98 | base_index等于@a is a power of 2 value (GART remapping area (physical) & dma_get_seg_boundary(dev), PAGE_SIZE)右移PAGE_SHIFT determines the page size 位 |
100 | boundary_size等于@a is a power of 2 value ((u64)dma_get_seg_boundary(dev) + 1, PAGE_SIZE)右移PAGE_SHIFT determines the page size 位 |
104 | offset等于iommu_area_alloc(Guarded by iommu_bitmap_lock: , .. and in pages , protected by iommu_bitmap_lock , size, base_index, boundary_size, align_mask) |
106 | 如果offset恒等于负1则 |
107 | global flush state. set for each gart wrap = true |
112 | 如果offset不等于负1则 |
114 | 如果protected by iommu_bitmap_lock 大于等于.. and in pages 则 |
115 | protected by iommu_bitmap_lock 等于0 |
116 | global flush state. set for each gart wrap = true |
119 | 如果If this is disabled the IOMMU will use an optimized flushing strategy* of only flushing when an mapping is reused则global flush state. set for each gart wrap = true |
123 | 返回:offset |
名称 | 描述 |
---|---|
dma_map_area | Map a single continuous physical area into the IOMMU.* Caller needs to check if the iommu is needed and flush. |
__dma_map_cont | Map multiple scatterlist entries continuous into the first. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |