diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-06-12 05:43:40 -0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-06-26 06:00:50 -0400 |
commit | 38a9ff6d247cf9afcbe55ea245b650b8955029fd (patch) | |
tree | c2603e639b98463ebc1b2de95dcbfffd338c8138 /arch/arc/include | |
parent | 502a0c775c7f0a01065e0d078e06c0440b86a11a (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.h | 5 | ||||
-rw-r--r-- | arch/arc/include/asm/kgdb.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/kprobes.h | 6 | ||||
-rw-r--r-- | arch/arc/include/asm/processor.h | 1 | ||||
-rw-r--r-- | arch/arc/include/asm/unaligned.h | 4 |
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; | |||
18 | void show_regs(struct pt_regs *regs); | 18 | void show_regs(struct pt_regs *regs); |
19 | void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs); | 19 | void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs); |
20 | void show_kernel_fault_diag(const char *str, struct pt_regs *regs, | 20 | void show_kernel_fault_diag(const char *str, struct pt_regs *regs, |
21 | unsigned long address, unsigned long cause_reg); | 21 | unsigned long address); |
22 | void die(const char *str, struct pt_regs *regs, unsigned long address, | 22 | void 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 | ||
34 | extern void kgdb_trap(struct pt_regs *regs, int param); | 34 | extern void kgdb_trap(struct pt_regs *regs); |
35 | 35 | ||
36 | enum arc700_linux_regnums { | 36 | enum 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 | ||
51 | int kprobe_fault_handler(struct pt_regs *regs, unsigned long cause); | 51 | int kprobe_fault_handler(struct pt_regs *regs, unsigned long cause); |
52 | void kretprobe_trampoline(void); | 52 | void kretprobe_trampoline(void); |
53 | void trap_is_kprobe(unsigned long cause, unsigned long address, | 53 | void trap_is_kprobe(unsigned long address, struct pt_regs *regs); |
54 | struct pt_regs *regs); | ||
55 | #else | 54 | #else |
56 | static void trap_is_kprobe(unsigned long cause, unsigned long address, | 55 | static 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 |
18 | int misaligned_fixup(unsigned long address, struct pt_regs *regs, | 18 | int 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 |
21 | static inline int | 21 | static inline int |
22 | misaligned_fixup(unsigned long address, struct pt_regs *regs, | 22 | misaligned_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 | } |