[kexec-lite PATCH] trampoline: Reset primary cpu endian to big-endian

Samuel Mendoza-Jonas sam.mj at au1.ibm.com
Wed Jul 8 13:11:42 AEST 2015


On 08/07/15 11:56, Anton Blanchard wrote:
> Hi Sam,
> 
>> Older big-endian ppc64 kernels don't include the FIXUP_ENDIAN check,
>> meaning if we kexec from a little-endian kernel the target kernel will
>> fail to boot.
>> Returning to big-endian before we enter the target kernel ensures that
>> the target kernel can boot whether or not it includes FIXUP_ENDIAN.
> 
> Thanks!
> 
> I wonder if we can do something simpler, and always enter via rfid.
> Avoids the need for the endian trampoline. Something like:
> 
>   	mtsrr0	r4
> 
> 	mfmsr	r5
> 	clrrdi	r5,r5,1 	/* Clear MSR_LE */
> 	mtsrr1	r5
> 
> 	li	r5,0
> 
> 	rfid
> 
> Anton
> 

Ah that's a neat idea, I'll test and send a V2.

Cheers,
Sam

-- 
-----------
LTC Ozlabs
IBM



More information about the Linuxppc-dev mailing list