ppc rfi in head.s result in a reset?
Tonyliu
Bo.Liu at windriver.com
Thu Nov 5 13:13:42 EST 2009
wilbur.chan wrote:
> ppc 6xx
>
> In platform_init function of sandpoint.c , I delete the code of
> getting command line from uboot, and set command_line to a fixed value
> , which are like this:
>
> sandpoint.c--> platform_init
> #if 0
> if (r3 && r6) {
> /* copy board info structure */
> memcpy( (void *)__res,(void *)(r3+KERNELBASE), sizeof(bd_t) );
> /* copy command line */
> *(char *)(r7+KERNELBASE) = 0;
> strcpy(cmd_line, (char *)(r6+KERNELBASE));
> }
> #endif
> strcpy(cmd_line, "xxx");
>
>
Which version your kernel is ? I cant find sandpoint.c in powerpc git tree.
And I suspect it's conditional "if (r3 && r6)" to copy cmd_line, and
your change makes it unconditioned. Maybe it
will affect something.
Tony
> But I found that , when calling start_kernel in head.S (by rfi
> instruction), the borad was reset into uboot, that is :
>
> li r4,MSR_KERNEL
> FIX_SRR1(r4,r5)
> lis r3,start_kernel at h
> ori r3,r3,start_kernel at l
> mtspr SPRN_SRR0,r3
> mtspr SPRN_SRR1,r4
> SYNC
> RFI //reset,why?
>
>
> The RFI instruction here, caused the board reset to uboot. Can
> someone give me some advice on how could this happened?
>
> Thank you
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
>
--
Tony Liu | Liu Bo
-------------------------------------------------------------
WIND RIVER | China Development Center
Tel: 86-10-8477-8542 ext: 8542 | Fax: 86-10-64790367
(M): 86-136-7117-3612
Address: 15/F, Wangjing TowerB, Chaoyang District, Beijing, P.R.China
More information about the Linuxppc-dev
mailing list