Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\vmalloc.c Create Date:2022-07-28 14:58:01
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Set 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]

Proto:static int vmap_page_range_noflush(unsigned long start, unsigned long end, pgprot_t prot, struct page **pages)

Type:int

Parameter:

TypeParameterName
unsigned longstart
unsigned longend
pgprot_tprot
struct page **pages
225  addr = start
226  err = 0
227  nr = 0
229  BUG_ON(addr >= end)
230  pgd = a shortcut which implies the use of the kernel's pgd, instead* of a process's(addr)
231  Do
232  next = When walking page tables, get the address of the next boundary,* or the end address of the range if that comes earlier. Although no* vma end wraps to 0, rounded up __boundary may wrap to 0 throughout.(addr, end)
233  err = vmap_p4d_range(pgd, addr, next, prot, pages, & nr)
234  If err Then Return err
236  When pgd++, addr = next , addr != end cycle
238  Return nr
Caller
NameDescribe
vmap_page_range
map_kernel_range_noflushmap_kernel_range_noflush - map kernel VM area with the specified pages*@addr: start of the VM area to map*@size: size of the VM area to map*@prot: page protection flags to use*@pages: pages to map* Map PFN_UP(@size) pages at @addr