函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:vmap - map an array of pages into virtually contiguous space*@pages: array of page pointers*@count: number of pages to map*@flags: vm_area->flags*@prot: page protection for the mapping* Maps @count pages from @pages into contiguous kernel virtual* space

函数原型:void *vmap(struct page **pages, unsigned int count, unsigned long flags, pgprot_t prot)

返回类型:void

参数:

类型参数名称
struct page **pages
unsigned intcount
unsigned longflags
pgprot_tprot
2425  might_sleep()
2427  如果count大于totalram_pages()则返回:NULL
2430  size等于count左移PAGE_SHIFT determines the page size
2431  area等于get_vm_area_caller(size, flags, __builtin_return_address(0))
2432  如果非area则返回:NULL
2435  如果map_vm_area(area, prot, pages)则
2436  vunmap - release virtual mapping obtained by vmap()*@addr: memory base address* Free the virtually contiguous memory area starting at @addr,* which was created from the page array passed to vmap().* Must not be called in interrupt context.
2437  返回:NULL
2440  返回:addr
调用者
名称描述
relay_alloc_buflay_alloc_buf - allocate a channel buffer*@buf: the buffer struct*@size: total size of the buffer* Returns a pointer to the resulting buffer, %NULL if unsuccessful. The* passed in size will get page aligned, if it isn't already.