<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:΢ÈíÑźÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<BR>&gt; Suppose your machine has 1 GB of RAM with a physical addresses of<BR>&gt; 0x40000000 thru 0x7FFFFFFF<BR>&gt; <BR>&gt; Let's suppose that PHYS_OFFSET = 0xC0000000<BR>&gt; Let's suppose that VMALLOC_START is set to 0xE0000000 and VMALLOC_END<BR>&gt; is at 0xEFFFFFFF (256 Mb)<BR>&gt; <BR>
is this PAGE_OFFSET or PHYS_OFFSET?<BR>
<BR>&gt; So what we have is that memory from 0xC0000000 thru 0xDFFFFFFF (512<BR>&gt; Mb) is kernel direct mapped memory and maps to physical addresses<BR>&gt; 0x40000000 thru 0x5FFFFFFF<BR>&gt; <BR>&gt; Physical memory from 0x60000000 thru 0x7FFFFFFF (512Mb) is considered<BR>&gt; high-mem. For the most part this is only usable by user-space. From<BR>&gt; kernel space, you need to use the kmap/kunmap functions to even access<BR>&gt; the memory.<BR>&gt; <BR>
i don't think high-memory is only used by user-space.<BR>
vmalloc() funciton will try to allocate physical memory from high_memory first, if there is no high_memory, then allocate from normal region.<BR>
&nbsp;<BR>
&nbsp;<BR>
&gt; However, if you call vmalloc and lets suppose that vmalloc just<BR>&gt; happens to return 0xE0000000. The physical address of the first page<BR>&gt; might be 0xD2345000.<BR>&gt; <BR>
suppose vmalloc() return 0xE0000000, which is the VMALLOC_START, then the physical memory address<BR>
should be 0x60000000 thru 0x7FFFFFFF in your example.<BR>
<BR>&gt; What's important is that the physical pages which back up the vmalloc<BR>&gt; area all come from the kernel direct mapped area. They won't ever be<BR>&gt; backed by pages from high-memory. So the physical addresses will all<BR>&gt; be in the range 0x40000000 thru 0x5FFFFFFF.<BR>&gt; <BR>
what do you mean "back up", maybe i have some misunderstanding.<BR>
in my opnion, vmalloc area should map to physical address 0x60000000 thru 0x7FFFFFFF first, <BR>
if this resion is exhausted, then normal area will be allocated.<BR>
<BR>&nbsp;<BR>                                               </div></body>
</html>