From bdd86be4c291488a1e1e44c50ae57b1b103a19fd Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Thu, 17 Sep 2009 17:37:33 +0200 Subject: [PATCH] --- yaml --- r: 165940 b: refs/heads/master c: ac854ff1fc779101ff1989c3a20c1f238a2b5f3a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/microblaze/kernel/hw_exception_handler.S | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 2ffb6a52d458..ba18af50b819 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: afc26cb39e1e74c87a1b5eb013ead2590b91489c +refs/heads/master: ac854ff1fc779101ff1989c3a20c1f238a2b5f3a diff --git a/trunk/arch/microblaze/kernel/hw_exception_handler.S b/trunk/arch/microblaze/kernel/hw_exception_handler.S index 3288c9737671..0ad0f7011a1a 100644 --- a/trunk/arch/microblaze/kernel/hw_exception_handler.S +++ b/trunk/arch/microblaze/kernel/hw_exception_handler.S @@ -84,9 +84,10 @@ #define NUM_TO_REG(num) r ## num #ifdef CONFIG_MMU -/* FIXME you can't change first load of MSR because there is - * hardcoded jump bri 4 */ #define RESTORE_STATE \ + lwi r5, r1, 0; \ + mts rmsr, r5; \ + nop; \ lwi r3, r1, PT_R3; \ lwi r4, r1, PT_R4; \ lwi r5, r1, PT_R5; \ @@ -309,6 +310,9 @@ _hw_exception_handler: lwi r31, r0, TOPHYS(PER_CPU(CURRENT_SAVE)) /* get saved current */ #endif + mfs r5, rmsr; + nop + swi r5, r1, 0; mfs r3, resr nop mfs r4, rear;