summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/exported-sql-viewer.py
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2023-01-23 23:59:17 +0300
committerIngo Molnar <mingo@kernel.org>2023-01-31 17:05:31 +0300
commitac0ee0a9560c97fa5fe1409e450c2425d4ebd17a (patch)
tree504f81bb70d25dd873e14d74ae5064a043dc8351 /tools/perf/scripts/python/exported-sql-viewer.py
parentdb7adcfd1cec4e95155e37bc066fddab302c6340 (diff)
downloadlinux-ac0ee0a9560c97fa5fe1409e450c2425d4ebd17a.tar.xz
x86/alternatives: Teach text_poke_bp() to patch Jcc.d32 instructions
In order to re-write Jcc.d32 instructions text_poke_bp() needs to be taught about them. The biggest hurdle is that the whole machinery is currently made for 5 byte instructions and extending this would grow struct text_poke_loc which is currently a nice 16 bytes and used in an array. However, since text_poke_loc contains a full copy of the (s32) displacement, it is possible to map the Jcc.d32 2 byte opcodes to Jcc.d8 1 byte opcode for the int3 emulation. This then leaves the replacement bytes; fudge that by only storing the last 5 bytes and adding the rule that 'length == 6' instruction will be prefixed with a 0x0f byte. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Link: https://lore.kernel.org/r/20230123210607.115718513@infradead.org
Diffstat (limited to 'tools/perf/scripts/python/exported-sql-viewer.py')
0 files changed, 0 insertions, 0 deletions