Function report |
Source Code:arch\x86\kernel\cpu\mtrr\cleanup.c |
Create Date:2022-07-28 08:06:35 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:x86_get_mtrr_mem_range
Proto:static int __init x86_get_mtrr_mem_range(struct range *range, int nr_range, unsigned long extra_remove_base, unsigned long extra_remove_size)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct range * | range | |
int | nr_range | |
unsigned long | extra_remove_base | |
unsigned long | extra_remove_size |
73 | When i < num_var_ranges cycle |
75 | If type != MTRR_TYPE_WRBACK Then Continue |
82 | If debug_print Then |
83 | pr_debug("After WB checking\n") |
90 | When i < num_var_ranges cycle |
92 | If type != MTRR memory types, which are defined in SDM && type != MTRR_TYPE_WRPROT Then Continue |
96 | If Not size Then Continue |
99 | If base < 1 << 20 - PAGE_SHIFT determines the page size && have_fixed && enabled & MTRR_STATE_MTRR_ENABLED && enabled & Bit fields for enabled in struct mtrr_state_type Then |
103 | pr_warn(BIOS_BUG_MSG, i) |
104 | If base + size <= 1 << 20 - PAGE_SHIFT determines the page size Then Continue |
106 | size -= (1 << 20 - PAGE_SHIFT determines the page size ) - base |
107 | base = 1 << 20 - PAGE_SHIFT determines the page size |
111 | If extra_remove_size Then subtract_range(range, Should be related to MTRR_VAR_RANGES nums , extra_remove_base, extra_remove_base + extra_remove_size) |
115 | If debug_print Then |
116 | pr_debug("After UC checking\n") |
117 | When i < Should be related to MTRR_VAR_RANGES nums cycle |
127 | If debug_print Then |
128 | pr_debug("After sorting\n") |
134 | Return nr_range |
Name | Describe |
---|---|
mtrr_trim_uncached_memory | mtrr_trim_uncached_memory - trim RAM not covered by MTRRs*@end_pfn: ending page frame number* Some buggy BIOSes don't setup the MTRRs properly for systems with certain* memory configurations |
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 |