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 |