A question about kernel real-mode code's LMA & VMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux