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 [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ