From 06b2864038517905752bdacd95f1f265ef780f3b Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Tue, 22 Jun 2010 15:25:24 +0200 Subject: microblaze: Simplify _debug_exception function 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 --- arch/microblaze/kernel/entry.S | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'arch/microblaze/kernel') diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 042657165184..04267ca949f0 100644 --- 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; -- cgit v1.2.3-59-g8ed1b