函数逻辑报告 | 
Source Code:arch\x86\kernel\e820.c | 
Create Date:2022-07-27 08:42:59 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:__e820__range_update
函数原型:static u64 __init __e820__range_update(struct e820_table *table, u64 start, u64 size, enum e820_type old_type, enum e820_type new_type)
返回类型:u64
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct e820_table * | table | |
| u64 | start | |
| u64 | size | |
| enum e820_type | old_type | |
| enum e820_type | new_type | 
| 453 | real_updated_size等于0 | 
| 457 | 如果size大于ULLONG_MAX减start则size等于ULLONG_MAX减start | 
| 461 | printk(debug-level messages "e820: update [mem %#010Lx-%#010Lx] ", start, end - 1) | 
| 462 | e820_print_type(old_type) | 
| 463 | 打印标准信息(" ==> ") | 
| 464 | e820_print_type(new_type) | 
| 465 | 打印标准信息("\n") | 
| 467 | 以i小于nr_entries循环 | 
| 489 | real_updated_size加等于size | 
| 490 | 继续下一循环 | 
| 494 | final_start等于两数取大(start, addr) | 
| 496 | 如果final_start大于等于final_end则继续下一循环 | 
| 507 | size减等于final_end减final_start | 
| 508 | 如果addr小于final_start则继续下一循环 | 
| 513 | 返回:real_updated_size | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |