ARM: kprobes: Decode 16-bit Thumb PUSH and POP instructions
authorJon Medhurst <tixy@yxit.co.uk>
Sat, 2 Jul 2011 15:13:29 +0000 (16:13 +0100)
committerTixy <tixy@medhuaa1.miniserver.com>
Wed, 13 Jul 2011 17:32:44 +0000 (17:32 +0000)
commitfd0c8d8a48c57cb8a3f1fbbe46a2b208b57ff477
treebbd1a7e1064a7e0be52ed8ba7cb2fab3a5c1d820
parent32818f31f8ed811ea7ef924f24642580a63a7c85
ARM: kprobes: Decode 16-bit Thumb PUSH and POP instructions

These instructions are equivalent to

stmdb sp!,{r0-r7,lr}
ldmdb sp!,{r0-r7,pc}

and we emulate them by transforming them into the 32-bit Thumb
instructions

stmdb r9!,{r0-r7,r8}
ldmdb r9!,{r0-r7,r8}

This is simpler, and almost certainly executes faster, than writing
simulation functions.

Signed-off-by: Jon Medhurst <tixy@yxit.co.uk>
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
arch/arm/kernel/kprobes-thumb.c