swap_driver-y := error_storage.o device_driver.o ec.o legacy.o module.o probes.o \
probes_manager.o storage.o us_proc_inst.o helper.o us_slot_manager.o \
sspt/ip.o sspt/sspt_page.o sspt/sspt_file.o sspt/sspt_proc.o \
- filters/filters_core.o filters/filter_by_pach.o us_def_handler.o
+ filters/filters_core.o filters/filter_by_pach.o us_def_handler.o \
+ ks_def_handler.o
--- /dev/null
+#include <linux/module.h>
+#include <asm/percpu.h>
+#include "probes_manager.h"
+
+DEFINE_PER_CPU(kernel_probe_t *, gpKernProbe) = NULL;
+EXPORT_PER_CPU_SYMBOL_GPL(gpKernProbe);
+
+unsigned long def_jprobe_event_pre_handler(kernel_probe_t *p,
+ struct pt_regs *regs)
+{
+ __get_cpu_var(gpKernProbe) = p;
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(def_jprobe_event_pre_handler);
+
+void def_jprobe_event_handler(unsigned long arg0, unsigned long arg1,
+ unsigned long arg2, unsigned long arg3,
+ unsigned long arg4, unsigned long arg5)
+{
+ kernel_probe_t *p = __get_cpu_var(gpKernProbe);
+
+ pack_event_info(KS_PROBE_ID, RECORD_ENTRY, "pxxxxxx", p->addr,
+ arg0, arg1, arg2, arg3, arg4, arg5);
+ dbi_jprobe_return();
+}
+EXPORT_SYMBOL_GPL(def_jprobe_event_handler);
+
+int def_retprobe_event_handler(struct kretprobe_instance *ri,
+ struct pt_regs *regs, kernel_probe_t *p)
+{
+ int ret_val;
+
+ ret_val = regs_return_value(regs);
+ pack_event_info(KS_PROBE_ID, RECORD_RET, "pd", p->addr, ret_val);
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(def_retprobe_event_handler);
--- /dev/null
+#ifndef _KS_DEF_HANDLER_H
+#define _KS_DEF_HANDLER_H
+
+#include <asm/percpu.h>
+#include "probes_manager.h"
+
+struct pt_regs;
+struct kretprobe_instance;
+
+DECLARE_PER_CPU(kernel_probe_t *, gpKernProbe);
+
+unsigned long def_jprobe_event_pre_handler(kernel_probe_t *p,
+ struct pt_regs *regs);
+void def_jprobe_event_handler(unsigned long arg0, unsigned long arg1,
+ unsigned long arg2, unsigned long arg3,
+ unsigned long arg4, unsigned long arg5);
+int def_retprobe_event_handler(struct kretprobe_instance *ri,
+ struct pt_regs *regs, kernel_probe_t *p);
+
+#endif /* _KS_DEF_HANDLER_H */
return 0;
}
-static DEFINE_PER_CPU(kernel_probe_t *, gpKernProbe) = NULL;
-
-unsigned long
-def_jprobe_event_pre_handler (kernel_probe_t * probe, struct pt_regs *regs)
-{
- __get_cpu_var (gpKernProbe) = probe;
-
- return 0;
-}
-
-void
-def_jprobe_event_handler (unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5, unsigned long arg6)
-{
- //static int nCount;
- kernel_probe_t *probe = __get_cpu_var(gpKernProbe);
-
- pack_event_info(KS_PROBE_ID, RECORD_ENTRY, "pxxxxxx", probe->addr, arg1, arg2, arg3, arg4, arg5, arg6);
- dbi_jprobe_return ();
-}
-
-int
-def_retprobe_event_handler (struct kretprobe_instance *pi, struct pt_regs *regs, kernel_probe_t * probe)
-{
- int ret_val;
-
- ret_val = regs_return_value(regs);
- pack_event_info(KS_PROBE_ID, RECORD_RET, "pd", probe->addr, ret_val);
-
- return 0;
-}
-
int install_kern_otg_probe(unsigned long addr,
unsigned long pre_handler,
unsigned long jp_handler,
int set_kernel_probes(void);
int unset_kernel_probes(void);
-extern unsigned long def_jprobe_event_pre_handler (kernel_probe_t * probe, struct pt_regs *regs);
-extern void def_jprobe_event_handler (unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5, unsigned long arg6);
-extern int def_retprobe_event_handler (struct kretprobe_instance *probe, struct pt_regs *regs, kernel_probe_t * p);
void dbi_install_user_handlers(void);
void dbi_uninstall_user_handlers(void);
int install_kern_otg_probe(unsigned long addr,
#include "CProfile.h"
#include "sspt/sspt.h"
#include "sspt/sspt_debug.h"
+#include "ks_def_handler.h"
#define after_buffer ec_info.buffer_size
#include <linux/module.h>
#include <linux/list.h>
#include <linux/spinlock.h>
+#include <dbi_kprobes.h>
#include "picl.h"
#include "ec_ioctl.h"
#include "ec_probe.h"