Re: [Linux-ia64] about linux/ia64 mm

唐 宇
2001-11-30T06:31:38Z

thx a lot first;
and as _pa(x) is defined to ((x)-PAGE_OFFSET), so i think, kernel space
from PAGE_OFFSET to (PAGE_OFFSET + Size of Memroy) should be mapped
directly to 0 -Size of Memory; so what happens if codes access address
returned by functions such as get_free_pages()(it should range in
[PAGE_OFFSET,PAGE_OFFSET+...])? how could it be translated by MMU?
and what you mean, there are both 64M-page and configurable
PAGE_SIZE(4,8k,etc) for Region 7? or i just missed something?

rgds

>From: David Mosberger <davidm@hpl.hp.com>
>Reply-To: davidm@hpl.hp.com
>To: "唐 宇" <ytang5@hotmail.com>
>CC: linux-ia64@linuxia64.org
>Subject: Re: [Linux-ia64] about linux/ia64 mm
>Date: Thu, 29 Nov 2001 21:43:18 -0800
>
> >>>>> On Thu, 29 Nov 2001 23:19:53 +0800, "=?gb2312?B?zMYg0+4=?="
<ytang5@hotmail.com> said:
>
> Tang> hi all, i was a little confused by linux/ia64 mm; as i know,
> Tang> linux requires physical memory to be mapped contiguously to
> Tang> kernel space( don't care highmem); and PAGE_OFFSET is defined
> Tang> to 0xe000000000000000 in linux/ia64; that's region 7, its page
> Tang> size is fixed to 64M(2.4.12). how could __get_free_pages()
> Tang> allocate such a big _page_? it's absolutely impossible. so i
> Tang> think i made a big mistake somewhere, would someone help me
> Tang> out? thx :-)
>
>The page allocator works at the page frame level, which can be
>configured to have a size of 4, 8, 16, or 64KB. The large TLB
>mappings are used merely to access the underlying memory (think of it
>as a physical address space with a non-zero starting address).
>
> --david