Function report | 
Source Code:mm\mmap.c | 
Create Date:2022-07-28 14:49:08 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:This mmap-allocator allocates new areas top-down from below the* stack's low limit (the base):
Proto:unsigned long arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags)
Type:unsigned long
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct file * | filp | |
| unsigned long | addr | |
| unsigned long | len | |
| unsigned long | pgoff | |
| unsigned long | flags | 
| 2124 | mmap_end = arch_get_mmap_end(addr) | 
| 2127 | If len > mmap_end - mmap_min_addr Then Return -ENOMEM | 
| 2130 | If flags & Interpret addr exactly Then Return addr | 
| 2134 | If addr Then | 
| 2137 | If mmap_end - len >= addr && addr >= mmap_min_addr && ( Not vma || addr + len <= vm_start_gap(vma) ) && ( Not prev || addr >= vm_end_gap(prev) ) Then Return addr | 
| 2143 | flags = VM_UNMAPPED_AREA_TOPDOWN | 
| 2145 | low_limit = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(PAGE_SIZE, mmap_min_addr) | 
| 2146 | high_limit = arch_get_mmap_base(addr, base of mmap area ) | 
| 2147 | align_mask = 0 | 
| 2156 | If offset_in_page(addr) Then | 
| 2164 | Return addr | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |