MVL Linux on MPC8560 Booting goes into infinite loop in early_init memset_io ( )
Scott Wood
scottwood at freescale.com
Tue Apr 8 02:04:17 EST 2008
Deepak Gaur wrote:
> Hi all,
>
> While booting MVL linux
Have you talked to MV support? For community support, it's best to use
the latest upstream sources (and arch/powerpc, not arch/ppc).
BTW, it's generally bad form to post the same question repeatedly. If
you have new information regarding your problem, just post a followup in
the same thread containing the new information.
> arch/ppc/kernel/setup.c
> ----------------------------------------
> unsigned long
> early_init(int r3, int r4, int r5)
> {
> unsigned long phys;
> unsigned long offset = reloc_offset();
>
> /* Default */
> phys = offset + KERNELBASE;
>
> /* First zero the BSS -- use memset, some arches don't have
> * caches on yet */
>
> memset_io(PTRRELOC(&__bss_start), 0, _end - __bss_start);
>
> __bss_start is 0xc039b00 and __bss_stop = _end =c03c7d90 _end
>
>
> Please anyone give me some pointers to understand this i.e use of PTRRELOC
The kernel hasn't been remapped yet, so the pointer is adjusted manually.
> and REASON BEHIND clearing area from __bss_start to _end - __bss_start even though lot of
> symbols and functions are defined here(as per System.map)
That's what the BSS is for -- symbols that are cleared at runtime so as
to eliminate the need to store them in the image. There should be no
functions in there.
-Scott
More information about the Linuxppc-embedded
mailing list