函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-27 16:27:33
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:vmap_p4d_range

函数原型:static int vmap_p4d_range(pgd_t *pgd, unsigned long addr, unsigned long end, pgprot_t prot, struct page **pages, int *nr)

返回类型:int

参数:

类型参数名称
pgd_t *pgd
unsigned longaddr
unsigned longend
pgprot_tprot
struct page **pages
int *nr
203  p4d等于The following ifdef needed to get the 5level-fixup.h header to work.* Remove it when 5level-fixup.h has been removed.
204  如果非p4d则返回:负ENOMEM
206  循环
207  next等于p4d_addr_end(addr, end)
208  如果vmap_pud_range(p4d, addr, next, prot, pages, nr)则返回:负ENOMEM
210 p4d自加, addr等于next, addr不等于end循环
211  返回:0
调用者
名称描述
vmap_page_range_noflushSet up page tables in kva (addr, end). The ptes shall have prot "prot", and* will have pfns corresponding to the "pages" array.* Ie. pte at addr+N*PAGE_SIZE shall point to pfn corresponding to pages[N]