函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |