Function report |
Source Code:mm\percpu.c |
Create Date:2022-07-28 14:27:36 |
Last Modify:2022-05-23 13:52:24 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:per_cpu_ptr_to_phys - convert translated percpu address to physical address*@addr: the address to be converted to physical address* Given @addr which is dereferenceable address obtained via one of* percpu access macros, this function translates it into
Proto:phys_addr_t per_cpu_ptr_to_phys(void *addr)
Type:phys_addr_t
Parameter:
Type | Parameter | Name |
---|---|---|
void * | addr |
2063 | __percpu * base = UP, it's always identity mapped (he address of the first chunk which starts with the kernel static area ) |
2064 | bool in_first_chunk = false |
2078 | first_low = he address of the first chunk which starts with the kernel static area + pcpu_unit_page_offset(cpus with the lowest and highest unit addresses , 0) |
2080 | first_high = he address of the first chunk which starts with the kernel static area + pcpu_unit_page_offset(pcpu_high_unit_cpu, pcpu_unit_pages) |
2082 | If addr >= first_low && addr < first_high Then |
2084 | for_each_possible_cpu(cpu) |
2085 | start = per_cpu_ptr(base, cpu) |
2087 | If addr >= start && addr < start + pcpu_unit_size Then |
2088 | in_first_chunk = true |
2089 | Break |
2094 | If in_first_chunk Then |
2095 | If Not Determine if an address is within the vmalloc range* On nommu, vmalloc/vfree wrap through kmalloc/kfree directly, so there* is no special casing required. Then Return __pa(addr) |
2097 | Else Return Change "struct page" to physical address.(Support for virtually mapped pages ) + offset_in_page(addr) |
2100 | Else Return Change "struct page" to physical address.(pcpu_addr_to_page(addr)) + offset_in_page(addr) |
Name | Describe |
---|---|
get_cpu_gdt_paddr | Provide the physical address of the GDT page. |
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 |