Hi,
   The following is extracted from Documentation/x86/boot.txt,
   which show's memory map when booting a kernel.


117         ~                        ~ 118         |  Protected-mode kernel | 
119 100000  +------------------------+ 120         |  I/O memory hole       | 
121 0A0000  +------------------------+ 122         |  Reserved for BIOS     |   
   Leave as much as possible unused 123         ~                        ~ 124  
       |  Command line          |      (Can also be below the X+10000 mark) 125 
X+10000 +------------------------+ 126         |  Stack/heap            |      
For use by the kernel real-mode code. 127 X+08000 +------------------------+    
   128         |  Kernel setup          |      The kernel real-mode code. 129   
      |  Kernel boot sector    |      The kernel legacy boot sector. 130 X      
 +------------------------+ 131         |  Boot loader           |      <- Boot 
sector entry point 0000:7C00 132 001000  +------------------------+ 133         
|  Reserved for MBR/BIOS | 134 000800  +------------------------+ 135         | 
 Typically used by MBR | 136 000600  +------------------------+  137         |  
BIOS use only         | 138 000000  +------------------------+where the address 
X is as low as the design of the boot loader 141 permits.
The address X is not determined by kernel, so the kernel real-mode code's VMA 
may not equal to LMA, how kernel solved it??


One more question, in ld script, does the location counter ".", represent VMA?? 


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

Reply via email to