Re: Support for HIGHMEM ...can any one explain my Q&A ..

From: Eric W. Biederman
Date: Mon Aug 23 2004 - 09:34:34 EST


"Mukund JB." <mukundjb@xxxxxxxxxxxxxxxxxxxxx> writes:

> Hi all,
> Sorry if I asked any thing that basic level stuff?
> This is the paasge I found in the net while surfing for details about
> HIGHMEM stuff.
>
> During 2.3 kernel development (I think), "HIGHMEM" support was added.
> Normally, the kernel can only address (4GB-PAGE_OFFSET)/PAGE_SIZE pages
> of RAM, since all physical pages must be mapped to kernel addresses
> between PAGE_OFFSET and 4GB. (So if PAGE_OFFSET is 3GB, only 1GB of
> physical RAM can be used - not even that, in practice, due to fixed
> kernel mappings and so forth.) The HIGHMEM patches allow the kernel to
> use more than 1G of memory by mapping the additional pages into the high
> part of the kernel address space just below 4GB as necessary. They also
> allow high-memory pages to be mapped into user process address space.
>
>
> ***) Does the above passage mean that PAGE_OFFSET is the starting
> address of my RAM ?

No. PAGE_OFFSET is the virtual address at which physical address
0 is mapped into an arch/i386 kernel.

> I understood so from the below line
> "since all physical pages must be mapped to kernel addresses between
> PAGE_OFFSET and 4GB".
>
> ***) Does it mean that the lowest portion of the 4GB os nothing but RAM
> ?

No. 0-PAGE_OFFSET is the virtual address space provided to user space.
So it has an arbitrary mapping to virtual memory.

Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/