projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8b110d1
)
microblaze: Simplify _debug_exception function
author
Michal Simek
<monstr@monstr.eu>
Tue, 22 Jun 2010 13:25:24 +0000
(15:25 +0200)
committer
Michal Simek
<monstr@monstr.eu>
Wed, 4 Aug 2010 08:22:48 +0000
(10:22 +0200)
Keep together all arguments for send_sig function.
Move returning address to delay slot which is executed.
Remove additional send_sig loading. I am using IMM part of
rtbd instruction with r0.
old solution:
addik r11, r0, send_sig
rtbd r11, 0
nop
new solution:
rtbd r0, send_sig
nop
There is one instruction saving.
Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/kernel/entry.S
patch
|
blob
|
history
diff --git
a/arch/microblaze/kernel/entry.S
b/arch/microblaze/kernel/entry.S
index 04265716518454c27e15cf7e1a9f8f530148c978..04267ca949f0c5db253e5dc7b0be59eb91f8ad71 100644
(file)
--- a/
arch/microblaze/kernel/entry.S
+++ b/
arch/microblaze/kernel/entry.S
@@
-895,15
+895,12
@@
C_ENTRY(_debug_exception):
swi r0, r1, PTO+PT_R0;
tovirt(r1,r1)
+ set_vms;
addi r5, r0, SIGTRAP /* send the trap signal */
add r6, r0, CURRENT_TASK; /* Get current task ptr into r11 */
addk r7, r0, r0 /* 3rd param zero */
-
- set_vms;
- addik r11, r0, send_sig;
+dbtrap_call: rtbd r0, send_sig;
addik r15, r0, dbtrap_call;
-dbtrap_call: rtbd r11, 0;
- nop;
set_bip; /* Ints masked for state restore*/
lwi r11, r1, PTO+PT_MODE;