函数逻辑报告 |
Source Code:arch\x86\kernel\cpu\mtrr\cleanup.c |
Create Date:2022-07-27 09:06:47 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:x86_get_mtrr_mem_range
函数原型:static int __init x86_get_mtrr_mem_range(struct range *range, int nr_range, unsigned long extra_remove_base, unsigned long extra_remove_size)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct range * | range | |
int | nr_range | |
unsigned long | extra_remove_base | |
unsigned long | extra_remove_size |
73 | 以i小于num_var_ranges循环 |
75 | 如果type不等于MTRR_TYPE_WRBACK则继续下一循环 |
82 | 如果debug_print则 |
83 | pr_debug("After WB checking\n") |
90 | 以i小于num_var_ranges循环 |
92 | 如果type不等于MTRR memory types, which are defined in SDM 且type不等于MTRR_TYPE_WRPROT则继续下一循环 |
96 | 如果非size则继续下一循环 |
103 | 打印警告信息(BIOS_BUG_MSG, i) |
104 | 如果base加size小于等于1左移20减PAGE_SHIFT determines the page size 位则继续下一循环 |
106 | size减等于1左移20减PAGE_SHIFT determines the page size 位的值减base |
107 | base等于1左移20减PAGE_SHIFT determines the page size 位 |
111 | 如果extra_remove_size则subtract_range(range, Should be related to MTRR_VAR_RANGES nums , extra_remove_base, extra_remove_base + extra_remove_size) |
115 | 如果debug_print则 |
116 | pr_debug("After UC checking\n") |
127 | 如果debug_print则 |
128 | pr_debug("After sorting\n") |
134 | 返回:nr_range |
名称 | 描述 |
---|---|
mtrr_trim_uncached_memory | mtrr_trim_uncached_memory - trim RAM not covered by MTRRs*@end_pfn: ending page frame number* Some buggy BIOSes don't setup the MTRRs properly for systems with certain* memory configurations |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |