This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: some questions about arch/arm/boot/compress/head.s
On (11/10/08 14:31), loody wrote:
> Dear all:
> I try to trace kernel source, head.s, and there are some questions I
> need your help.
> Below I excerpt some part of it.
>
> start:
> .type start,#function
> .rept 8
> mov r0, r0
> .endr
>
> b 1f
> .word 0x016f2818 @ Magic numbers to help the loader
> .word start @ absolute load/run zImage address
> .word _edata @ zImage end address
> 1: mov r7, r1 @ save architecture ID
> mov r8, r2 @ save atags pointer
> ......
> ......
> .text
> adr r0, LC0
>
>
> My questions are:
> 1. what does "b 1f" and "b 1b" means?
> I have grep the head.s and there is no label named, 1f or 1b.
> And in GAS manual there seems no explanation about "b", since b is
> arm's instructions, branch.
> I also check arm-reference manual, chapter a5, and there is no
> mention about this kind of addressing mode, either.
read
http://sourceware.org/binutils/docs-2.18/as/Symbol-Names.html#Symbol-Names
>
> 2. what is adr used for?
> It seems not arm instructions and I search the file for any macro
> definition but the result is fail.
read
http://sourceware.org/binutils/docs-2.18/as/ARM-Opcodes.html#ARM-Opcodes
>
> 3. where I can find the parameter start, _edata defined?
I guess you are using ARM so its in kernel linker script. See
arch/arm/kernel/vmlinux.lds.S
> Does the start in ".word start @ absolute load/run zImage address"
> mean this start label?
No it is asking the value of start to be put in there.
>
> appreciate your help in advance,
> miloody