forked from Minki/linux
ARM: kprobes: Add exports for test code
The test code will be using kprobes' internal decoding tables so we need to export these for when then the tests are compiled as a module. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
This commit is contained in:
parent
c0cc6df163
commit
2c89240b63
|
@ -60,6 +60,7 @@
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/kprobes.h>
|
#include <linux/kprobes.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "kprobes.h"
|
#include "kprobes.h"
|
||||||
|
|
||||||
|
@ -971,6 +972,9 @@ const union decode_item kprobe_decode_arm_table[] = {
|
||||||
|
|
||||||
DECODE_END
|
DECODE_END
|
||||||
};
|
};
|
||||||
|
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
|
||||||
|
EXPORT_SYMBOL_GPL(kprobe_decode_arm_table);
|
||||||
|
#endif
|
||||||
|
|
||||||
static void __kprobes arm_singlestep(struct kprobe *p, struct pt_regs *regs)
|
static void __kprobes arm_singlestep(struct kprobe *p, struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/kprobes.h>
|
#include <linux/kprobes.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include "kprobes.h"
|
#include "kprobes.h"
|
||||||
|
|
||||||
|
@ -943,6 +944,9 @@ const union decode_item kprobe_decode_thumb32_table[] = {
|
||||||
*/
|
*/
|
||||||
DECODE_END
|
DECODE_END
|
||||||
};
|
};
|
||||||
|
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
|
||||||
|
EXPORT_SYMBOL_GPL(kprobe_decode_thumb32_table);
|
||||||
|
#endif
|
||||||
|
|
||||||
static void __kprobes
|
static void __kprobes
|
||||||
t16_simulate_bxblx(struct kprobe *p, struct pt_regs *regs)
|
t16_simulate_bxblx(struct kprobe *p, struct pt_regs *regs)
|
||||||
|
@ -1423,6 +1427,9 @@ const union decode_item kprobe_decode_thumb16_table[] = {
|
||||||
|
|
||||||
DECODE_END
|
DECODE_END
|
||||||
};
|
};
|
||||||
|
#ifdef CONFIG_ARM_KPROBES_TEST_MODULE
|
||||||
|
EXPORT_SYMBOL_GPL(kprobe_decode_thumb16_table);
|
||||||
|
#endif
|
||||||
|
|
||||||
static unsigned long __kprobes thumb_check_cc(unsigned long cpsr)
|
static unsigned long __kprobes thumb_check_cc(unsigned long cpsr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -413,6 +413,14 @@ struct decode_reject {
|
||||||
DECODE_HEADER(DECODE_TYPE_REJECT, _mask, _value, 0)
|
DECODE_HEADER(DECODE_TYPE_REJECT, _mask, _value, 0)
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_THUMB2_KERNEL
|
||||||
|
extern const union decode_item kprobe_decode_thumb16_table[];
|
||||||
|
extern const union decode_item kprobe_decode_thumb32_table[];
|
||||||
|
#else
|
||||||
|
extern const union decode_item kprobe_decode_arm_table[];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi,
|
int kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi,
|
||||||
const union decode_item *table, bool thumb16);
|
const union decode_item *table, bool thumb16);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user