I have two more questions from your replies:
- I thought I had understood HIGH_MEM and LOW_MEM, but it appears I was wrong. Does the concept of high memory/low memory correspond to physical address space or virtual address space? Also, does LOW_MEM always have to be 1 GiB maximum?
- For a RAM of 896 MiB - 4096 MiB, the book says:
"In this case, the RAM cannot be mapped entirely into the kernel linear address space. The best Linux can do during the initialization phase is to map a RAM window of size 896 MB into the kernel linear address space."
Why is there a need to map the whole RAM into the kernel space (the usage of the word "entirely") ? Shouldn't it be only LOW_MEM ? Or am I confusing the two things here ?
I believe all doubts are pointing to the concepts of LOW_MEM and HIGH_MEM, but I'm still not being able to wrap my head around them.
Thanks,
Sunny