函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:yrix_get_free_region - get a free ARR.*@base: the starting (base) address of the region.*@size: the size (in bytes) of the region.* Returns: the index of the region on success, else -1 on error.

函数原型:static int cyrix_get_free_region(unsigned long base, unsigned long size, int replace_reg)

返回类型:int

参数:

类型参数名称
unsigned longbase
unsigned longsize
intreplace_reg
98  :replace_reg恒等于7
99  如果size小于0x40则退出
102  :replace_reg恒等于6
103  :replace_reg恒等于5
104  :replace_reg恒等于4
105  返回:replace_reg
106  :replace_reg恒等于3
107  :replace_reg恒等于2
108  :replace_reg恒等于1
109  :replace_reg恒等于0
110  返回:replace_reg
113  如果size大于0x2000则
114  cyrix_get_arr(7, & lbase, & lsize, & ltype)
115  如果lsize恒等于0则返回:7
118  否则
119 i小于7循环
120  cyrix_get_arr(i, & lbase, & lsize, & ltype)
121  如果lsize恒等于0则返回:i
128  cyrix_get_arr(i, & lbase, & lsize, & ltype)
129  如果lsize恒等于0且size大于等于0x40则返回:i
132  返回:负ENOSPC