|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
ppc rfi in head.s result in a reset?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"); 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@h ori r3,r3,start_kernel@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@... https://lists.ozlabs.org/listinfo/linuxppc-dev |
|
|
Re: ppc rfi in head.s result in a reset?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"); > > 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@h > ori r3,r3,start_kernel@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@... > 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 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@... https://lists.ozlabs.org/listinfo/linuxppc-dev |
| Free embeddable forum powered by Nabble | Forum Help |