Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / arch / mn10300 / include / asm / kprobes.h
blob7abea0bdb549a6fefb375fe0bdce64e1a6c11207
1 /* MN10300 Kernel Probes support
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by Mark Salter (msalter@redhat.com)
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public Licence as published by
8 * the Free Software Foundation; either version 2 of the Licence, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public Licence for more details.
16 * You should have received a copy of the GNU General Public Licence
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 #ifndef _ASM_KPROBES_H
22 #define _ASM_KPROBES_H
24 #include <asm-generic/kprobes.h>
26 #define BREAKPOINT_INSTRUCTION 0xff
28 #ifdef CONFIG_KPROBES
29 #include <linux/types.h>
30 #include <linux/ptrace.h>
32 struct kprobe;
34 typedef unsigned char kprobe_opcode_t;
35 #define MAX_INSN_SIZE 8
36 #define MAX_STACK_SIZE 128
38 /* Architecture specific copy of original instruction */
39 struct arch_specific_insn {
40 /* copy of original instruction
42 kprobe_opcode_t insn[MAX_INSN_SIZE];
45 extern const int kretprobe_blacklist_size;
47 extern int kprobe_exceptions_notify(struct notifier_block *self,
48 unsigned long val, void *data);
50 #define flush_insn_slot(p) do {} while (0)
52 extern void arch_remove_kprobe(struct kprobe *p);
54 #endif /* CONFIG_KPROBES */
55 #endif /* _ASM_KPROBES_H */