Hi all,<br><br>While booting MVL linux on MPC8560 based board the kernel goes into a infinite loop in setup.c<br><br>arch/ppc/kernel/head_fsl_booke.S<br>------------------------------------<br>bl early_init<br><br>arch/ppc/kernel/setup.c<br>
----------------------------------------<br>unsigned long<br>early_init(int r3, int r4, int r5)<br>{<br> unsigned long phys;<br> unsigned long offset = reloc_offset();<br><br> /* Default */<br> phys = offset + KERNELBASE;<br>
<br> /* First zero the BSS -- use memset, some arches don't have<br> * caches on yet */<br> <br> memset_io(PTRRELOC(&__bss_start), 0, _end - __bss_start);<br><br> __bss_start is 0xc039b00 and __bss_stop = _end =c03c7d90 _end<br>
<br><br> Please anyone give me some pointers to understand this i.e use of PTRRELOC 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)<br>
<br>System.map<br>---------------------<br>c039b000 A __bss_start<br>c039b000 A __chrp_begin<br>c039b000 A __chrp_end<br>c039b000 A __init_end<br>c039b000 A __openfirmware_begin<br>c039b000 A __openfirmware_end<br>c039b000 A __pmac_begin<br>
c039b000 A __pmac_end<br>c039b000 A __prep_begin<br>c039b000 A __prep_end<br>c039b000 B system_state<br>c039b004 B late_time_init<br>c039b008 b execute_command<br>c039b00c b panic_later<br>c039b010 b panic_param<br>c039b014 B Version_132618<br>
.....<br>.....<br><br>c03c4458 B ic_nameservers<br>c03c4464 B unix_socket_table<br>c03c4464 B unix_table_lock<br>c03c4868 b auth_domain_table<br>c03c4868 b authtab_lock<br>c03c4868 b packet_sklist_lock<br>c03c4868 b rpc_credcache_lock<br>
c03c4868 b rpc_queue_lock<br>c03c4868 b rpc_sched_lock<br>c03c4968 b ip_table<br>c03c4d68 b pmap_lock<br>c03c4d68 b pmap_stats<br>c03c4d90 b cache_defer_hash<br>c03c4d90 b cache_defer_lock<br>c03c4d90 b cache_list_lock<br>
c03c4d90 b queue_lock<br>c03c5d90 b write_buf<br>c03c7d90 A __bss_stop<br>c03c7d90 A _end<br><br>Thanks,<br><br>Deepak Gaur