powerpc/64s: relocation, register save fixes for system reset interrupt

Balbir Singh bsingharora at gmail.com
Fri Oct 28 23:01:58 AEDT 2016



On 27/10/16 22:38, Michael Ellerman wrote:
> On Thu, 2016-13-10 at 02:17:14 UTC, Nicholas Piggin wrote:
>> This patch does a couple of things. First of all, powernv immediately
>> explodes when running a relocated kernel, because the system reset
>> exception for handling sleeps does not do correct relocated branches.
>>
>> Secondly, the sleep handling code trashes the condition and cfar
>> registers, which we would like to preserve for debugging purposes (for
>> non-sleep case exception).
>>
>> This patch changes the exception to use the standard format that saves
>> registers before any tests or branches are made. It adds the test for
>> idle-wakeup as an "extra" to break out of the normal exception path.
>> Then it branches to a relocated idle handler that calls the various
>> idle handling functions.
>>
>> After this patch, POWER8 CPU simulator now boots powernv kernel that is
>> running at non-zero.
>>
>> Cc: Balbir Singh <bsingharora at gmail.com>
>> Cc: Shreyas B. Prabhu <shreyas at linux.vnet.ibm.com>
>> Cc: Gautham R. Shenoy <ego at linux.vnet.ibm.com>
>> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
>> Acked-by: Gautham R. Shenoy <ego at linux.vnet.ibm.com>
>> Acked-by: Balbir Singh <bsingharora at gmail.com>
> 
> Applied to powerpc fixes, thanks.
> 
> https://git.kernel.org/powerpc/c/fb479e44a9e240a23c2d208c2ace23
> 
BTW, this cannot be directly marked back to stable
(ref: http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=fb479e44a9e240a23c2d208c2ace23542a47f41c)

For stable, we might need

https://marc.info/?l=linuxppc-embedded&m=146967183624811&w=4

Balbir Singh


More information about the Linuxppc-dev mailing list