函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:kimage_alloc_page

函数原型:static struct page *kimage_alloc_page(struct kimage *image, gfp_t gfp_mask, unsigned long destination)

返回类型:struct page

参数:

类型参数名称
struct kimage *image
gfp_tgfp_mask
unsigned longdestination
708  addr等于page_to_boot_pfn(page)左移PAGE_SHIFT determines the page size
709  如果addr恒等于destination
710  删除链表项
711  返回:page
714  page = NULL
715  当1循环
719  page等于kimage_alloc_pages(gfp_mask, 0)
720  如果非page则返回:NULL
726  继续下一循环
728  addr等于page_to_boot_pfn(page)左移PAGE_SHIFT determines the page size
731  如果addr恒等于destination退出
735  如果非kimage_is_destination_range(image, addr, addr + PAGE_SIZE)则退出
744  old等于kimage_dst_used(image, addr)
745  如果old
750  old_addr等于old按位与PAGE_MASK
753  old等于addr按位或old按位与PAGE_MASK的反
759  如果非gfp_mask按位与__GFP_HIGHMEM的值且PageHighMem(old_page)则
762  继续下一循环
764  addr等于old_addr
765  page等于old_page
766  退出
769  添加链表项
772  返回:page
调用者
名称描述
kimage_add_entry
kimage_load_normal_segment