函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:remap_p4d_range

函数原型:static inline int remap_p4d_range(struct mm_struct *mm, pgd_t *pgd, unsigned long addr, unsigned long end, unsigned long pfn, pgprot_t prot)

返回类型:int

参数:

类型参数名称
struct mm_struct *mm
pgd_t *pgd
unsigned longaddr
unsigned longend
unsigned longpfn
pgprot_tprot
1888  pfn减等于addr右移PAGE_SHIFT determines the page size
1889  p4d等于The following ifdef needed to get the 5level-fixup.h header to work.* Remove it when 5level-fixup.h has been removed.
1890  如果非p4d则返回:负ENOMEM
1892  循环
1893  next等于p4d_addr_end(addr, end)
1894  err等于remap_pud_range(mm, p4d, addr, next, pfn + (addr >> PAGE_SHIFT determines the page size ), prot)
1896  如果err则返回:err
1898 p4d自加, addr等于next, addr不等于end循环
1899  返回:0
调用者
名称描述
remap_pfn_rangemap_pfn_range - remap kernel memory to userspace*@vma: user vma to map to*@addr: target user address to start at*@pfn: physical address of kernel memory*@size: size of map area*@prot: page protection flags for this mapping