Hello,
 
Based on the following thread regarding Linux memory map:
http://ozlabs.org/pipermail/linuxppc-embedded/2000-May/001333.html
 
Obviously, I am still a newbie in Linux kernel and I find it hard to grasp things especially Linux MM.  I quoted some lines from this thread (from Dan's post), then some follow-up questions.  I do hope you could help me out in these:
 
1.)  "Virtual addresses from 0 to 0x7fffffff are for user context."
     a.) If TASK_SIZE is defined as 0x80000000, does this necessarily mean that 2G-2G split is used?
 
 
2.)  "For this reason, and since it followed prior PowerPC platform examples, I chose to map the embedded 8xx kernel to the 0xc0000000 virtual address."
     a.)  This 0xc0000000 virtual address must be defined as the value of PAGE_OFFSET, right?
     b.)  Does this mean that the kernel's .text section is located in this address?
     c.)  If user space is only up to 0x80000000, and the kernel starts at 0xc0000000, what could possibly be located in between?
 
 
3.)  "Prior to this KVM initialization, we choose to map virtual to physical addresses 1:1.  That is, the kernel virtual address exactly matches the physical address on the bus.  These mappings are typically done in arch/ppc/kernel/head.S, or arch/ppc/mm/init.c.  Only   absolutely necessary mappings should be done at this time, for example board control registers or a serial uart.  Normal device driver initialization should map resources later when necessary."
      a.)  Is there any chance that the mapping done here is relocated later in the initialization process?
 
 
I would really appreciate your input on this.  Thank you very much!
 
 
Regards,
Shiera