Re: confused kernel compressed code link address

2014-05-14 Thread Chuck Huang
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 getaru...@gmail.com:
 Hi Chuck Huang,

 On Thu, May 8, 2014 at 5:25 PM, Chuck Huang chuck.ker...@gmail.com 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|  start:
 373792| #endif

 if the code run in 0x8000 (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@kernelnewbies.org
 http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: confused kernel compressed code link address

2014-05-12 Thread Arun KS
Hi Chuck Huang,

On Thu, May 8, 2014 at 5:25 PM, Chuck Huang chuck.ker...@gmail.com 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|  start:
 373792| #endif

 if the code run in 0x8000 (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@kernelnewbies.org
 http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


confused kernel compressed code link address

2014-05-08 Thread Chuck Huang
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|  start:
373792| #endif

if the code run in 0x8000 (which is DDR base address), but the
link address is zero, how it works ?

best regards

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies