my cpu is MPC860, use u-boot-1.1.4, linux-2.6.20.14
i use the "tftp 300000 uImage" command download kernel image,
then use the "bootm 300000" command boot the image.
i found the bootm cmd entered the /arch/ppc/kernel/head_8xx.s, stop at the instruction "rfi".
is it right? after the instruction, where does the code go normally ? what should i do now?
thanks
.globl __start
__start:
mr r31,r3 /* save parameters */
mr r30,r4
mr r29,r5
mr r28,r6
mr r27,r7
/* We have to turn on the MMU right away so we get cache modes
* set correctly.
*/
bl initial_mmu
/* We now have the lower 8 Meg mapped into TLB entries, and the caches
* ready to work.
*/
turn_on_mmu:
mfmsr r0
ori r0,r0,MSR_DR|MSR_IR
mtspr SPRN_SRR1,r0
lis r0,start_here@h
ori r0,r0,start_here@l
mtspr SPRN_SRR0,r0
SYNC
rfi /* enables MMU */
poorbeyond
2007-07-27
poorbeyond wrote:
my cpu is MPC860, use u-boot-1.1.4, linux-2.6.20.14
i use the "tftp 300000 uImage" command download kernel image,
then use the "bootm 300000" command boot the image.
You'll need either a device-tree-aware u-boot or 8xx cuImage support;
you can get the latter from the patchset I posted recently.
i found the bootm cmd entered the /arch/ppc/kernel/head_8xx.s, stop at the instruction "rfi".
is it right? after the instruction, where does the code go normally ? what should i do now?
The rfi transfers control to start_here:
-Scott
Scott Wood wrote:
poorbeyond wrote:
quoted
my cpu is MPC860, use u-boot-1.1.4, linux-2.6.20.14
i use the "tftp 300000 uImage" command download kernel image,
then use the "bootm 300000" command boot the image.
You'll need either a device-tree-aware u-boot or 8xx cuImage support;
you can get the latter from the patchset I posted recently.
Sorry, I missed that you're using arch/ppc rather than arch/powerpc.
arch/ppc doesn't require a device tree, though it would be good to
switch to arch/powerpc once my 8xx fixes go in -- arch/ppc is deprecated.
-Scott
how do you know execution stop at "rfi" instruction.i think it seems it stop at "rfi" instruction when debugging through debugger, but it does n't . you check it by putting break point in the later functions e.g start_here, machine_init etc.
---------------------------------
5, 50, 500, 5000. Store N number of mails in your inbox. Click here.