lkml.org 
[lkml]   [2016]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/3] powerpc: Emulation support for load/store instructions on LE
Date
emulate_step is the basic infrastructure which is used by number of other
kernel infrastructures like kprobe, hw-breakpoint(data breakpoint) etc.
In case of kprobe, enabling emulation of load/store instructions will
speedup the execution of probed instruction. In case of kernel-space
breakpoint, causative instruction is first get emulated before executing
user registered handler. If emulation fails, hw-breakpoint is disabled
with error. As emulate_step does not support load/store instructions on
LE, kernel-space hw-breakpoint infrastructure is broken on LE.

emulate_step() uses a number of underlying kernel functions that were
initially not enabled for LE. This has been rectified since. So, fix
emulate_step() for LE for the corresponding instructions.

Also add selftest which will run at boot if CONFIG_KPROBES_SANITY_TEST
and CONFIG_PPC64 is set.

Changes w.r.t. RFC:
- Enable emulation support for all types of (Normal, Floating Point,
Vector and Vector Scalar) load/store instructions.
- Introduce selftest to test emulate_step for load/store instructions.

Ravi Bangoria (3):
powerpc: Emulation support for load/store instructions on LE
powerpc: Add encoding for couple of load/store instructions
powerpc: emulate_step test for load/store instructions

arch/powerpc/include/asm/ppc-opcode.h | 7 +
arch/powerpc/include/asm/sstep.h | 8 +
arch/powerpc/kernel/kprobes.c | 2 +
arch/powerpc/lib/Makefile | 4 +
arch/powerpc/lib/sstep.c | 20 --
arch/powerpc/lib/test_emulate_step.c | 439 ++++++++++++++++++++++++++++++++++
6 files changed, 460 insertions(+), 20 deletions(-)
create mode 100644 arch/powerpc/lib/test_emulate_step.c

--
1.8.3.1

\
 
 \ /
  Last update: 2016-11-02 09:55    [W:0.069 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site