This section describes the power-up initialization program, including practical examples.
Example 4-1 is an example of a power-up initialization program for the EST SBC8260 board. The source is provided in source_dir/nucleus/bsp/powerpc/sbc8260/src/boot/trampoline.s.
.text .globl reset reset: /* * Put power up initialization code here */ /* * Jump to bootconf entry point */ xor r3, r3, r3 addis r5, r0, entryPoint@ha /* */ addi r5, r5, entryPoint@l /* */ lwz r5, 0(r5) /* r5 = entryPoint */ mtlr r5 /* */ blr /* (*entryPoint)(); */ .globl __mkimage__label__REF_start __mkimage__label__REF_start: entryPoint: .long 0 /* bootconf entry point */
At image generation the mkimage utility binds the bootconf program entry point to the power-up initialization program, patching the contents of the location labelled __mkimage__label__REF_start with the address of the entry point location labelled by __mkimage__label__start, as described in "bconf_main.c Source File".
This power-up program forces the board-specific (second) argument of the bootconf program to 0, using the argument passing convention described in "bootconf Binary".