Function report |
Source Code:arch\x86\kernel\alternative.c |
Create Date:2022-07-28 07:45:01 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:recompute_jump
Proto:static void __init_or_module recompute_jump(struct alt_instr *a, u8 *orig_insn, u8 *repl_insn, u8 *insn_buff)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct alt_instr * | a | |
| u8 * | orig_insn | |
| u8 * | repl_insn | |
| u8 * | insn_buff |
| 288 | If length of new instruction != 5 Then Return |
| 302 | If n_dspl - 2 <= 127 Then Go to two_byte_jmp |
| 304 | Else Go to five_byte_jmp |
| 307 | Else |
| 308 | If ( n_dspl - 2 & 0xff) == n_dspl - 2 Then Go to two_byte_jmp |
| 310 | Else Go to five_byte_jmp |
| 314 | two_byte_jmp : |
| 315 | n_dspl -= 2 |
| 317 | insn_buff[0] = 0xeb |
| 321 | repl_len = 2 |
| 322 | Go to done |
| 324 | five_byte_jmp : |
| 325 | n_dspl -= 5 |
| 327 | insn_buff[0] = 0xe9 |
| 330 | repl_len = 5 |
| 332 | done : |
| Name | Describe |
|---|---|
| apply_alternatives | Replace instructions with better alternatives for this CPU type. This runs* before SMP is initialized to avoid SMP problems with self modifying code.* This implies that asymmetric systems where APs have less capabilities than |
| 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 |