-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Origin port done by Rajeshwar Ranga Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Rajeshwar Ranga <rajeshwar.ranga@gmail.com>
- Loading branch information
Vineet Gupta
committed
Feb 15, 2013
1 parent
e65ab5a
commit 4d86dfb
Showing
7 changed files
with
610 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License version 2 as | ||
* published by the Free Software Foundation. | ||
*/ | ||
|
||
#ifndef _ARC_KPROBES_H | ||
#define _ARC_KPROBES_H | ||
|
||
#ifdef CONFIG_KPROBES | ||
|
||
typedef u16 kprobe_opcode_t; | ||
|
||
#define UNIMP_S_INSTRUCTION 0x79e0 | ||
#define TRAP_S_2_INSTRUCTION 0x785e | ||
|
||
#define MAX_INSN_SIZE 8 | ||
#define MAX_STACK_SIZE 64 | ||
|
||
struct arch_specific_insn { | ||
int is_short; | ||
kprobe_opcode_t *t1_addr, *t2_addr; | ||
kprobe_opcode_t t1_opcode, t2_opcode; | ||
}; | ||
|
||
#define flush_insn_slot(p) do { } while (0) | ||
|
||
#define kretprobe_blacklist_size 0 | ||
|
||
struct kprobe; | ||
|
||
void arch_remove_kprobe(struct kprobe *p); | ||
|
||
int kprobe_exceptions_notify(struct notifier_block *self, | ||
unsigned long val, void *data); | ||
|
||
struct prev_kprobe { | ||
struct kprobe *kp; | ||
unsigned long status; | ||
}; | ||
|
||
struct kprobe_ctlblk { | ||
unsigned int kprobe_status; | ||
struct pt_regs jprobe_saved_regs; | ||
char jprobes_stack[MAX_STACK_SIZE]; | ||
struct prev_kprobe prev_kprobe; | ||
}; | ||
|
||
int kprobe_fault_handler(struct pt_regs *regs, unsigned long cause); | ||
void kretprobe_trampoline(void); | ||
void trap_is_kprobe(unsigned long cause, unsigned long address, | ||
struct pt_regs *regs); | ||
#else | ||
static void trap_is_kprobe(unsigned long cause, unsigned long address, | ||
struct pt_regs *regs) | ||
{ | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.