hi Arn Ks, thx for your reply. So there is no global variables during the decompress process of kernel. best regards 2014-05-12 14:06 GMT+08:00 Arun KS <getarunks@xxxxxxxxx>: > Hi Chuck Huang, > > On Thu, May 8, 2014 at 5:25 PM, Chuck Huang <chuck.kernel@xxxxxxxxx> wrote: >> Dear all, >> >> Now i am looking into kernel decompressed code, arch/arm/boot/compressed/head.S >> >> As i objdump arch/arm/boot/compressed/vmlinux, the start section address is 0x0. >> >> vmlinux.S >> 373789| Disassembly of section .text: >> 373790| >> 373791| 00000000 <start>: >> 373792| #endif >> >> if the code run in 0x8000 0000(which is DDR base address), but the >> link address is zero, how it works ? > > The compressed/head.S code is position independent code. It can be > loaded anywhere in RAM. > There will not be reference to any labels directly. All the address > references are done relative to PC. > > Thanks, > Arun >> >> best regards >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@xxxxxxxxxxxxxxxxx >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies