函数逻辑报告 |
Source Code:arch\x86\kernel\e820.c |
Create Date:2022-07-27 08:43:02 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Remove a range of memory from the E820 table:
函数原型:u64 __init e820__range_remove(u64 start, u64 size, enum e820_type old_type, bool check_type)
返回类型:u64
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| u64 | start | |
| u64 | size | |
| enum e820_type | old_type | |
| bool | check_type |
| 531 | real_removed_size等于0 |
| 533 | 如果size大于ULLONG_MAX减start则size等于ULLONG_MAX减start |
| 537 | printk(debug-level messages "e820: remove [mem %#010Lx-%#010Lx] ", start, end - 1) |
| 538 | 如果check_type则e820_print_type(old_type) |
| 540 | 打印标准信息("\n") |
| 542 | 以i小于nr_entries循环 |
| 547 | 如果check_type且type不等于old_type则继续下一循环 |
| 568 | final_start等于两数取大(start, addr) |
| 570 | 如果final_start大于等于final_end则继续下一循环 |
| 579 | size减等于final_end减final_start |
| 580 | 如果addr小于final_start则继续下一循环 |
| 585 | 返回:real_removed_size |
| 名称 | 描述 |
|---|---|
| e820_add_kernel_range | alled before trim_bios_range() to spare extra sanitize |
| parse_memopt | The "mem=nopentium" boot option disables 4MB page tables on 32-bit kernels: |
| parse_memmap_one | |
| trim_bios_range |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |