[POWERPC] force 64bit mode in fwnmi handlers to workaround firmware bugs
commit9fc0a92c7ebcad96467d62077497ce195d9b741c
authorOlaf Hering <olh@suse.de>
Wed, 19 Jul 2006 08:34:05 +0000 (19 10:34 +0200)
committerPaul Mackerras <paulus@samba.org>
Fri, 28 Jul 2006 18:07:08 +0000 (29 04:07 +1000)
tree8b5824d93be7746f69f992db9e684af0962a82ab
parent4c962b5a42e5fc24e2d5d73896732cf3578da260
[POWERPC] force 64bit mode in fwnmi handlers to workaround firmware bugs

The firmware of POWER4 and JS20 systems does not switch the cpu to 64bit
mode when the registered system_reset and machine_check handlers get called.
If a 32bit process runs on that cpu at the time of the event, the cpu
remains in 32bit mode. xmon and kdump can not deal with it, the result is
an error like 'Bad kernel stack pointer fff2aad0 at 3200'.
xmon just loses some register info, but booting the kdump kernel usually fails.

Both handlers are not hot paths.  Duplicate the EXCEPTION_PROLOG_PSERIES macro
and add two instructions to switch to 64bit:

 li     r11,5;
 rldimi r10,r11,61,0;

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/head_64.S