Function report |
Source Code:arch\x86\kernel\unwind_orc.c |
Create Date:2022-07-28 08:50:50 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:orc_find
Proto:static struct orc_entry *orc_find(unsigned long ip)
Type:struct orc_entry
Parameter:
| Type | Parameter | Name |
|---|---|---|
| unsigned long | ip |
| 145 | If Not orc_init Then Return NULL |
| 152 | If ip >= LOOKUP_START_IP && ip < LOOKUP_STOP_IP Then |
| 155 | idx = (ip - LOOKUP_START_IP) / LOOKUP_BLOCK_SIZE |
| 157 | If Value for the false possibility is greater at compile time((idx >= lookup_num_blocks - 1)) Then |
| 158 | orc_warn("WARNING: bad lookup idx: idx=%u num=%u ip=%pB\n", idx, lookup_num_blocks, (void * )ip) |
| 160 | Return NULL |
| 163 | start = orc_lookup[idx] |
| 164 | stop = orc_lookup[idx + 1] + 1 |
| 166 | If Value for the false possibility is greater at compile time((__start_orc_unwind + start >= __stop_orc_unwind) || (__start_orc_unwind + stop > __stop_orc_unwind)) Then |
| 168 | orc_warn("WARNING: bad lookup value: idx=%u num=%u start=%u stop=%u ip=%pB\n", idx, lookup_num_blocks, start, stop, (void * )ip) |
| 170 | Return NULL |
| 173 | Return __orc_find(__start_orc_unwind_ip + start, __start_orc_unwind + start, stop - start, ip) |
| 178 | If init_kernel_text(ip) Then Return __orc_find(__start_orc_unwind_ip, __start_orc_unwind, __stop_orc_unwind_ip - __start_orc_unwind_ip, ip) |
| 183 | orc = orc_module_find(ip) |
| 187 | Return orc_ftrace_find(ip) |
| Name | Describe |
|---|---|
| unwind_next_frame |
| 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 |