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