aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/include
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-06-12 05:43:40 -0400
committerVineet Gupta <vgupta@synopsys.com>2013-06-26 06:00:50 -0400
commit38a9ff6d247cf9afcbe55ea245b650b8955029fd (patch)
treec2603e639b98463ebc1b2de95dcbfffd338c8138 /arch/arc/include
parent502a0c775c7f0a01065e0d078e06c0440b86a11a (diff)
ARC: Remove explicit passing around of ECR
With ECR now part of pt_regs * No need to propagate from lowest asm handlers as arg * No need to save it in tsk->thread.cause_code * Avoid bit chopping to access the bit-fields More code consolidation, cleanup Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include')
-rw-r--r--arch/arc/include/asm/bug.h5
-rw-r--r--arch/arc/include/asm/kgdb.h4
-rw-r--r--arch/arc/include/asm/kprobes.h6
-rw-r--r--arch/arc/include/asm/processor.h1
-rw-r--r--arch/arc/include/asm/unaligned.h4
5 files changed, 8 insertions, 12 deletions
diff --git a/arch/arc/include/asm/bug.h b/arch/arc/include/asm/bug.h
index 2ad8f9b1c54b..5b18e94c6678 100644
--- a/arch/arc/include/asm/bug.h
+++ b/arch/arc/include/asm/bug.h
@@ -18,9 +18,8 @@ struct task_struct;
18void show_regs(struct pt_regs *regs); 18void show_regs(struct pt_regs *regs);
19void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs); 19void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs);
20void show_kernel_fault_diag(const char *str, struct pt_regs *regs, 20void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
21 unsigned long address, unsigned long cause_reg); 21 unsigned long address);
22void die(const char *str, struct pt_regs *regs, unsigned long address, 22void die(const char *str, struct pt_regs *regs, unsigned long address);
23 unsigned long cause_reg);
24 23
25#define BUG() do { \ 24#define BUG() do { \
26 dump_stack(); \ 25 dump_stack(); \
diff --git a/arch/arc/include/asm/kgdb.h b/arch/arc/include/asm/kgdb.h
index 4930957ca3d3..b65fca7ffeb5 100644
--- a/arch/arc/include/asm/kgdb.h
+++ b/arch/arc/include/asm/kgdb.h
@@ -31,7 +31,7 @@ static inline void arch_kgdb_breakpoint(void)
31 __asm__ __volatile__ ("trap_s 0x4\n"); 31 __asm__ __volatile__ ("trap_s 0x4\n");
32} 32}
33 33
34extern void kgdb_trap(struct pt_regs *regs, int param); 34extern void kgdb_trap(struct pt_regs *regs);
35 35
36enum arc700_linux_regnums { 36enum arc700_linux_regnums {
37 _R0 = 0, 37 _R0 = 0,
@@ -53,7 +53,7 @@ enum arc700_linux_regnums {
53}; 53};
54 54
55#else 55#else
56#define kgdb_trap(regs, param) 56#define kgdb_trap(regs)
57#endif 57#endif
58 58
59#endif /* __ARC_KGDB_H__ */ 59#endif /* __ARC_KGDB_H__ */
diff --git a/arch/arc/include/asm/kprobes.h b/arch/arc/include/asm/kprobes.h
index 4d9c211fce70..944dbedb38b5 100644
--- a/arch/arc/include/asm/kprobes.h
+++ b/arch/arc/include/asm/kprobes.h
@@ -50,11 +50,9 @@ struct kprobe_ctlblk {
50 50
51int kprobe_fault_handler(struct pt_regs *regs, unsigned long cause); 51int kprobe_fault_handler(struct pt_regs *regs, unsigned long cause);
52void kretprobe_trampoline(void); 52void kretprobe_trampoline(void);
53void trap_is_kprobe(unsigned long cause, unsigned long address, 53void trap_is_kprobe(unsigned long address, struct pt_regs *regs);
54 struct pt_regs *regs);
55#else 54#else
56static void trap_is_kprobe(unsigned long cause, unsigned long address, 55static void trap_is_kprobe(unsigned long address, struct pt_regs *regs)
57 struct pt_regs *regs)
58{ 56{
59} 57}
60#endif 58#endif
diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h
index b0b5d2d9b3d3..15334ab66b56 100644
--- a/arch/arc/include/asm/processor.h
+++ b/arch/arc/include/asm/processor.h
@@ -29,7 +29,6 @@ struct thread_struct {
29 unsigned long ksp; /* kernel mode stack pointer */ 29 unsigned long ksp; /* kernel mode stack pointer */
30 unsigned long callee_reg; /* pointer to callee regs */ 30 unsigned long callee_reg; /* pointer to callee regs */
31 unsigned long fault_address; /* dbls as brkpt holder as well */ 31 unsigned long fault_address; /* dbls as brkpt holder as well */
32 unsigned long cause_code; /* Exception Cause Code (ECR) */
33#ifdef CONFIG_ARC_FPU_SAVE_RESTORE 32#ifdef CONFIG_ARC_FPU_SAVE_RESTORE
34 struct arc_fpu fpu; 33 struct arc_fpu fpu;
35#endif 34#endif
diff --git a/arch/arc/include/asm/unaligned.h b/arch/arc/include/asm/unaligned.h
index 5dbe63f17b66..60702f3751d2 100644
--- a/arch/arc/include/asm/unaligned.h
+++ b/arch/arc/include/asm/unaligned.h
@@ -16,11 +16,11 @@
16 16
17#ifdef CONFIG_ARC_MISALIGN_ACCESS 17#ifdef CONFIG_ARC_MISALIGN_ACCESS
18int misaligned_fixup(unsigned long address, struct pt_regs *regs, 18int misaligned_fixup(unsigned long address, struct pt_regs *regs,
19 unsigned long cause, struct callee_regs *cregs); 19 struct callee_regs *cregs);
20#else 20#else
21static inline int 21static inline int
22misaligned_fixup(unsigned long address, struct pt_regs *regs, 22misaligned_fixup(unsigned long address, struct pt_regs *regs,
23 unsigned long cause, struct callee_regs *cregs) 23 struct callee_regs *cregs)
24{ 24{
25 return 0; 25 return 0;
26} 26}