[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1487082488-5624-1-git-send-email-ravi.bangoria@linux.vnet.ibm.com>
Date: Tue, 14 Feb 2017 19:58:06 +0530
From: Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>
To: linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org,
mpe@...erman.id.au
Cc: benh@...nel.crashing.org, paulus@...ba.org,
lsorense@...lub.uwaterloo.ca, oohall@...il.com,
naveen.n.rao@...ux.vnet.ibm.com, ast@...nel.org,
aneesh.kumar@...ux.vnet.ibm.com, bsingharora@...il.com,
anton@...ba.org, paul.gortmaker@...driver.com,
bauerman@...ux.vnet.ibm.com, viro@...iv.linux.org.uk,
christophe.leroy@....fr, duwe@....de, oss@...error.net,
Ravi Bangoria <ravi.bangoria@...ux.vnet.ibm.com>
Subject: [PATCH v4 0/2] powerpc: Emulation support for load/store instructions on LE
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 in v4:
- Used late_initcall() for selftest
- Makefile changes
v3 link: https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1332686.html
Ravi Bangoria (2):
powerpc: Emulation support for load/store instructions on LE
powerpc: emulate_step tests for load/store instructions
arch/powerpc/include/asm/ppc-opcode.h | 7 +
arch/powerpc/lib/Makefile | 2 +
arch/powerpc/lib/sstep.c | 20 --
arch/powerpc/lib/test_emulate_step.c | 443 ++++++++++++++++++++++++++++++++++
4 files changed, 452 insertions(+), 20 deletions(-)
create mode 100644 arch/powerpc/lib/test_emulate_step.c
--
1.8.3.1
Powered by blists - more mailing lists