LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* question about identiry map(x86)
@ 2007-01-19 15:02 asgard
  0 siblings, 0 replies; only message in thread
From: asgard @ 2007-01-19 15:02 UTC (permalink / raw)
  To: linux-kernel

Hi, all.

On early boot stage linux maps only 8M(arch/i386/kernel/head.S).
It creates identity map and kernel map like this:
0x00000000 - 0x007FFFFF -> 0x00000000 -> 0x007FFFFF /* identity map */
0xC0000000 - 0xC07FFFFF -> 0x00000000 -> 0x007FFFFF /* kernel map */

On early boot stage identity map is needed for jumping to 0xC0000000.
Intel manual says, that after such jumping identity map can be deleted.

(arch/i386/mm/init.c)
Linux deletes early boot identity map, but when it maps 1G(all kernel
space) in kernel_physical_map_init, it creates another one identity map:
0x00000000 - 0x01FFFFFF -> 0x00000000 - 0x01FFFFFF /* NEW identity map
*/
0xC0000000 - 0xC1FFFFFF -> 0x00000000 - 0x01FFFFFF /* 1G kernel map */

so, question is: are there any significant reasons to create identity
map after jumping was done? As I know, after jumping kernel doesn't need
in identity map. So, if, for example, PAE is enabled for creation middle
directory kernel allocates 4K. And when identity map creates, kernel
loses some mem. So, why identity map is created in this case.

Thanks and good luck. 


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-01-19 15:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-01-19 15:02 question about identiry map(x86) asgard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).