On Sun, Feb 24, 2013 at 04:00:37PM +0700, Mulyadi Santosa wrote:
> On Sat, Feb 23, 2013 at 6:45 AM, horseriver <[email protected]> wrote:
> > hi:
> >
> >   I have built vmlinux at the top dir of kernel source ,then I use objdump 
> > to look into
> >   its section information.I find the statup_32 which is the start routine 
> > of kernel ,
> >   locats at 0xc0100000. I know the 0x100000 is the defined address for 
> > locating
> >   protect-mode code .But which I can not understand is the 0xc prefix 
> > .where does it come from?
> 
> If my guess is right, that's because kernel mode code start at
> 0xc000000 a.k.a a bit above 3 GiB on x86 32 bit machine

  I have find this answer .
  It is defined in lds script file . 

here is the code :
  SECTIONS
  {
  . = 0xC0000000 + 0x100000;
  /* read-only */
  _text = .;            /* Text and read-only data */
 
 
  why use 0xC0000000 as its start ? why not  just  use 0x100000 only ?
  if use 0xC0000000,every linked symbole will be prefixed by 0xc , what is the 
purpose ?

thanks!



-- 
> regards,
> 
> Mulyadi Santosa
> Freelance Linux trainer and consultant
> 
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com

_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to