On Wed, 2007-02-28 at 00:02 +0200, Tzahi Fadida wrote: > On Tuesday 27 February 2007 21:22, Sandeep Sanjay Patil wrote: > > Well, im afraid you are getting it all wrong. What rajat said was, > > identity mapping with an offset of 0xc0000000 most of the times , which > > means eg. > > If you have your ram of 512mb physical address from 0x10000000 - > > 0x30000000, your kernel will map the same from linear address(virtual) > > Why did you start from 0x10000000 and not from 0x0? Right, actually that would have been better example. > > > 0xc0000000 - 0xf0000000. So, its 512mb of virtual space, mapped down to > > You probably meant 0xc0000000 - 0xe0000000 Yeep... > So what you are saying that on a 1gb,2gb,..,4gb ram, ZONE_HIGH_MEM will always > be 128mb. However, those 128mb in the MMU will not enjoy identity mapping > (i.e. will have to use page tables entries translations). In addition, if we > have 4gb ram, the additional physical 3gb after the first 1gb. i.e. > 0x40000000 - 0xffffffff will be mapped to virtual addresses 0x0 - 0xc0000000? > (major weirdness btw). No, AFAIK the last 128mb will be dynamically changed to use the physical memory above 896mb. If not to be used in the kernel, the higher physical addresses will only be mapped for the applications... CMIIW... > > Btw, when i only have 512mb. Does that mean that the virtual address which is > in excess of the virtual-physical ram identity mapping, (if i have enough > swap space) will be from 0x0-0xc0000000? I didnt really get this part... > > Btw, is it also possible for two processes to have the same virtual address > and context switch will redirect each time (using different page table of the > process) the same virtual address to different physical address. This is what happens... cheers sandeep -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ