函数逻辑报告 |
Source Code:mm\memory.c |
Create Date:2022-07-27 16:08:06 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:vmf_insert_pfn_prot - insert single pfn into user vma with specified pgprot*@vma: user vma to map to*@addr: target user address of this page*@pfn: source kernel pfn*@pgprot: pgprot flags for the inserted page* This is exactly like vmf_insert_pfn(), except
函数原型:vm_fault_t vmf_insert_pfn_prot(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn, pgprot_t pgprot)
返回类型:vm_fault_t
参数:
类型 | 参数 | 名称 |
---|---|---|
struct vm_area_struct * | vma | |
unsigned long | addr | |
unsigned long | pfn | |
pgprot_t | pgprot |
1679 | BUG_ON(!(Flags, see mm.h. & (Page-ranges managed without "struct page", just pure PFN | Can contain "struct page" and pure PFN pages ))) |
1682 | BUG_ON((Flags, see mm.h. & Page-ranges managed without "struct page", just pure PFN ) && is_cow_mapping(Flags, see mm.h. )) |
1685 | 如果addr小于Our start address within vm_mm. 或addr大于等于The first byte after our end addresswithin vm_mm. 则返回:VM_FAULT_SIGBUS |
1688 | 如果非pfn_modify_allowed(pfn, pgprot)则返回:VM_FAULT_SIGBUS |
1691 | track_pfn_insert(vma, & pgprot, __pfn_to_pfn_t(pfn, PFN_DEV)) |
1693 | 返回:insert_pfn(vma, addr, __pfn_to_pfn_t(pfn, PFN_DEV), pgprot, false) |
名称 | 描述 |
---|---|
vmf_insert_pfn | vmf_insert_pfn - insert single pfn into user vma*@vma: user vma to map to*@addr: target user address of this page*@pfn: source kernel pfn* Similar to vm_insert_page, this allows drivers to insert individual pages* they've allocated into a user vma |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |