Hi, > Dear all: > I try to cross-compile linux on my arm-platform but I always > fail at "bl __lookup_processor_type" > __lookup_processor_type is a function defined at > head-common.s and it seems to load the base address of structs below > .long __proc_info_begin .long __proc_info_end > 3: .long . > .long __arch_info_begin > .long __arch_info_end > and check the cpu type each one by one. > The comment says > /* > * Look in include/asm-arm/procinfo.h and > arch/arm/kernel/arch.[ch] for > * more information about the __proc_info and __arch_info structures. > */ And there only define the prototype of structs. > Where I can get the constants which __lookup_processor_type > used to compare? Actually they are defined in the linker script file arch/arm/kernel/vmlinux.lds.S: __proc_info_begin = .; *(.proc.info.init) __proc_info_end = .; __arch_info_begin = .; *(.arch.info.init) __arch_info_end = .; As you can see they are actually placeholders to determine where the sections ".proc.info.init" and ".arch.info.init" end. So your __lookup_processor_type() actually iterates over the contents of these sections trying to identify the processor and architecture. > Is it define in arch/arm/mm/proc-xxx? No, these files actually contain the functions in ".proc.info.init". > BTW, why the folder name called mm? > memory mapping or something else? Memory Management, I think. > appreciate your help, > miloody HTH, Rajat -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ