函数逻辑报告 |
Source Code:mm\huge_memory.c |
Create Date:2022-07-27 17:35:23 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:follow_devmap_pmd
函数原型:struct page *follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap)
返回类型:struct page
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct vm_area_struct * | vma | |
| unsigned long | addr | |
| pmd_t * | pmd | |
| int | flags | |
| struct dev_pagemap ** | pgmap |
| 942 | assert_spin_locked(pmd_lockptr(mm, pmd)) |
| 948 | WARN_ONCE(flags & rnal GUP flag , "mm: In follow_devmap_pmd with FOLL_COW set") |
| 950 | 如果flags按位与check pte is writable 且非pmd_write( * pmd)则返回:NULL |
| 953 | 如果pmd_present( * pmd)且pmd_devmap( * pmd)则否则 |
| 956 | 返回:NULL |
| 965 | 如果非flags按位与do get_page on page 的值则返回:错误号 |
| 968 | pfn加等于addr按位与PMD_MASK的反的值右移PAGE_SHIFT determines the page size 位 |
| 969 | pgmap等于get_dev_pagemap(pfn, * pgmap) |
| 972 | page等于pfn_to_page(pfn) |
| 975 | 返回:page |
| 名称 | 描述 |
|---|---|
| follow_pmd_mask |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |