Function report |
Source Code:arch\x86\kernel\e820.c |
Create Date:2022-07-28 07:43:15 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Remove a range of memory from the E820 table:
Proto:u64 __init e820__range_remove(u64 start, u64 size, enum e820_type old_type, bool check_type)
Type:u64
Parameter:
Type | Parameter | Name |
---|---|---|
u64 | start | |
u64 | size | |
enum e820_type | old_type | |
bool | check_type |
531 | real_removed_size = 0 |
533 | If size > ULLONG_MAX - start Then size = ULLONG_MAX - start |
537 | printk(debug-level messages "e820: remove [mem %#010Lx-%#010Lx] ", start, end - 1) |
538 | If check_type Then e820_print_type(old_type) |
542 | When i < nr_entries cycle |
547 | If check_type && type != old_type Then Continue |
568 | final_start = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(start, addr) |
569 | final_end = min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(end, entry_end) |
570 | If final_start >= final_end Then Continue |
573 | real_removed_size += final_end - final_start |
579 | size -= final_end - final_start |
580 | If addr < final_start Then Continue |
585 | Return real_removed_size |
Name | Describe |
---|---|
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 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |