函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |