函数逻辑报告 | 
Source Code:mm\nommu.c | 
Create Date:2022-07-27 16:03:29 | 
| Last Modify:2020-03-17 21:26:27 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:set up a private mapping or an anonymous shared mapping
函数原型:static int do_mmap_private(struct vm_area_struct *vma, struct vm_region *region, unsigned long len, unsigned long capabilities)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct vm_area_struct * | vma | |
| struct vm_region * | region | |
| unsigned long | len | |
| unsigned long | capabilities | 
| 1018 | 如果capabilities按位与NOMMU_MAP_DIRECT则 | 
| 1019 | ret等于call_mmap(File we map to (can be NULL). , vma) | 
| 1020 | 如果ret恒等于0则 | 
| 1039 | order等于get_order - Determine the allocation order of a memory size*@size: The size for which to get the order* Determine the allocation order of a particular sized block of memory | 
| 1041 | point等于len右移PAGE_SHIFT determines the page size 位 | 
| 1044 | 如果sysctl_nr_trim_pages且total减point大于等于sysctl_nr_trim_pages则total等于point | 
| 1051 | atomic_long_add(total, & mmap_pages_allocated) | 
| 1053 | VMA vm_flags 等于Flags, see mm.h. 或等于VM_MAPPED_COPY | 
| 1054 | start address of region 等于base | 
| 1056 | gion allocated to here 等于start address of region 加total左移PAGE_SHIFT determines the page size 位的值 | 
| 1061 | 如果File we map to (can be NULL). 则 | 
| 1066 | fpos左移等于PAGE_SHIFT determines the page size 位 | 
| 1068 | ret等于kernel_read(File we map to (can be NULL). , base, len, & fpos) | 
| 1069 | 如果ret小于0则转到:error_free | 
| 1076 | 否则 | 
| 1077 | vma_set_anonymous(vma) | 
| 1080 | 返回:0 | 
| 1082 | error_free : | 
| 1086 | gion allocated to here 等于0 | 
| 1087 | 返回:ret | 
| 1089 | enomem : | 
| 1093 | 返回:负ENOMEM | 
| 名称 | 描述 | 
|---|---|
| do_mmap | handle mapping creation for uClinux | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |