在原始文件中,並不支持SMP,因而也就沒有per_cpu的問題,但在加上CONFIG_SMP之後,會有如下錯誤:
[Error li1021] The following symbols referenced in processor 'p0' could not be resolved:
'__per_cpu_end [___per_cpu_end]' referenced from 'init.dlb[main.doj]'
'__per_cpu_start [___per_cpu_start]' referenced from 'init.dlb[main.doj]'
為此,我們需要在ldf文件的.init段中加上這樣的語句:
//.percpu
INPUT_SECTION_ALIGN(64)
. = (. + 63) / 64 * 64;
__per_cpu_start = .;
INPUT_SECTIONS($LIBRARIES_CORE_A(.data.percpu))
__per_cpu_end = .;
uclinux-2008R1-RC8(bf561)到VDSP5的移植(62)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(60):current_text_addr
uclinux-2008R1-RC8(bf561)到VDSP5的移植(58)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(57)
uclinux-2008R1-RC8(bf561)到VDSP5的移植(56):__grab_cache_page
uclinux-2008R1-RC8(bf561)到VDSP5的移植(46):raw_rwlock_t