Commit 8509eb5e authored by Anton Blanchard's avatar Anton Blanchard Committed by Linus Torvalds

[PATCH] ppc64: catch branch to 0 in real mode

We have been debugging some strange fails where we branch to 0 in real
mode. At the moment this results in the cpu running through the
initialisation code and failing somewhere well into it.

The following patch uses the featuring nop'ing code to remove the branch
at real address 0 so it falls through to a trap instruction and gets
caught early.
parent 50dc875a
...@@ -93,8 +93,13 @@ ...@@ -93,8 +93,13 @@
_stext: _stext:
#ifdef CONFIG_PPC_PSERIES #ifdef CONFIG_PPC_PSERIES
_STATIC(__start) _STATIC(__start)
/* NOP this out unconditionally */
BEGIN_FTR_SECTION
b .__start_initialization_pSeries b .__start_initialization_pSeries
END_FTR_SECTION(0, 1)
#endif #endif
/* Catch branch to 0 in real mode */
trap
#ifdef CONFIG_PPC_ISERIES #ifdef CONFIG_PPC_ISERIES
/* /*
* At offset 0x20, there is a pointer to iSeries LPAR data. * At offset 0x20, there is a pointer to iSeries LPAR data.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment