diff options
author | Michal Simek <monstr@monstr.eu> | 2010-06-22 12:02:06 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2010-08-04 04:32:21 -0400 |
commit | da23355280d106b1160a0a07028838097b639f0b (patch) | |
tree | 00780ed66f48ad698475c6eb21e85e66f08fc142 /arch/microblaze/kernel | |
parent | e7741075b37e2be6693def1ff98487e3aef67874 (diff) |
microblaze: Save kernel mode in delay slot
This change save one instruction if kernel comes from kernel
space.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/kernel')
-rw-r--r-- | arch/microblaze/kernel/entry.S | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 8f6b4eea4a6f..0747e1d61d55 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S | |||
@@ -282,9 +282,8 @@ | |||
282 | tophys(r1,r1); \ | 282 | tophys(r1,r1); \ |
283 | addik r1, r1, -STATE_SAVE_SIZE; /* Make room on the stack. */\ | 283 | addik r1, r1, -STATE_SAVE_SIZE; /* Make room on the stack. */\ |
284 | SAVE_REGS \ | 284 | SAVE_REGS \ |
285 | swi r1, r1, PTO+PT_MODE; \ | ||
286 | brid 2f; \ | 285 | brid 2f; \ |
287 | nop; /* Fill delay slot */ \ | 286 | swi r1, r1, PTO+PT_MODE; \ |
288 | 1: /* User-mode state save. */ \ | 287 | 1: /* User-mode state save. */ \ |
289 | lwi r1, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* get saved current */\ | 288 | lwi r1, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); /* get saved current */\ |
290 | tophys(r1,r1); \ | 289 | tophys(r1,r1); \ |